如何對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"的字串
|