Andy的前後端技術筆記、生活紀錄
Javascript - 對object(key value)做 filter & map
發佈於: 2024-01-23 更新於: 2024-04-21 分類於: frontend

如何對object做類似filter的行為

透過Object.keys把key 輸出成 Array,這樣就可以使用filter,把key當作index逐一帶入obj做條件判斷,即可達到過濾效果

1
2
3
const obj = {a : 1, b : 2, c : 3};
const filteredResult = Object.keys(obj)
.filter((key) => obj[key] > 1)

使用Object.entries及reduce 來對object做一對一的處理來達到map效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
const obj = {
a: {name: 'andy', b: 2, c: 3},
b: {name: 'amy', b: 2, c: 3},
c: {name: 'john', b: 2, c: 3}
};

const result = Object.entries(obj).reduce((acc, [key, value]) => {
acc[key] = value
acc[key].name = acc[key].name + ' chen'

return acc;

}, {})
// 可以對 name的後面全部加上 "chen"的字串
--- 到底拉 The End ---