喵喵時光機
2019-03-20 17:19:50
如圖,我想以特定id去查找所需要的對象,并能對其內(nèi)容進(jìn)行賦值,已知可以用underscore_.findewhere但想知道大家都是怎么實現(xiàn)的?js原生庫怎么寫0 0
1 回答

繁星coding
TA貢獻(xiàn)1797條經(jīng)驗 獲得超4個贊
function findWhere(list, properties) {
const propertiesArray = Object.entries(properties)
return list.find(item => {
return propertiesArray.every(pair => {
const key = pair[0]
const value = pair[1]
return item[key] && item[key] === value
})
})
}
const result = findWhere(shoppinglists, {id: 'clothes', title: 'Clothes'}) // result就是你要的對象,然后對其進(jìn)行賦值操作。
說一下缺陷。
只會返回一個滿足條件的對象,如果滿足條件的對象不止一個,你可以用forEach的方法改寫一下。
如果值是引用類型,則無法判斷,需要額外的邏輯。
添加回答
舉報
0/150
提交
取消