我正在呼叫一個帶有兩個引數的函式,
引數 1:物件{a:1, b:2, c:3, d:4}
引數 2:條件((prop, key) => prop >= 3))
這里基于我們需要過濾物件的條件并將結果作為物件陣列提供。
我試過的代碼,
const pickBy = (a, b) => {
const data = Object.values(a).filter(b);
console.log(data)
}
pickBy({a:1, b:2, c:3, d:4}, ((prop, key) => prop >= 3))
當前結果: [3,4]
預期結果: [{c:3}, {d:4}]
uj5u.com熱心網友回復:
您可以獲取條目,通過移交過濾功能的正確格式進行過濾,并構建過濾條目的物件。
const
pickBy = (object, filterFn) => Object
.entries(object)
.filter(([k, v]) => filterFn(v, k))
.map(([k, v]) => ({ [k]: v }));
console.log(pickBy({ a: 1, b: 2, c: 3, d: 4 }, (prop, key) => prop >= 3));
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/357458.html
標籤:javascript
