如图,我想以特定id去查找所需要的对象,并能对其内容进行赋值,已知可以用underscore_.findewhere但想知道大家都是怎么实现的?js原生库怎么写0 0
1 回答

繁星coding
TA贡献1797条经验 获得超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就是你要的对象,然后对其进行赋值操作。
说一下缺陷。
只会返回一个满足条件的对象,如果满足条件的对象不止一个,你可以用forEach的方法改写一下。
如果值是引用类型,则无法判断,需要额外的逻辑。
添加回答
举报
0/150
提交
取消