gpt4 book ai didi

javascript - 省略数组之间的匹配对象

转载 作者:行者123 更新时间:2023-12-03 02:46:34 25 4
gpt4 key购买 nike

我正在尝试将 newProp (对象数组)与 prop (另一个对象数组)进行比较,当匹配时,它将从 newProp 数组中删除。

prop = [{ id: 1, name: 'John Doe}, {id: 2, name: 'Jane Doe'}, {id: 3. name: 'Baby Doe'}]

newProp = [{id: 4, name: 'Johnny Doe' }, {id: 1, name: 'John Doe'} ....]

这是我尝试过的,想知道是否有更好/更干净的方法来解决这个问题。

  let prop = [{ id: 1, name: 'John Doe'}, {id: 2, name: 'Jane Doe'}, {id: 3, name: 'Baby Doe'}]

let newProp = [{id: 4, name: 'Johnny Doe' }, {id: 1, name: 'John Doe'}]

prop.map( (i,Iindex) => {
newProp.map((o, oIndex ) => {
if (i.id == o.id) {
prop.splice(Iindex, 1);
console.log(prop);
}
})
})

最佳答案

一种方法是 filter() 过滤掉不需要的项目。

它更干净、更具可读性(您会在遵循函数式编程的人的代码中看到它),但是它会生成一个新数组,因此如果在非常大的输入数组上频繁调用,则会对性能产生负面影响。

newProp = newProp
.filter(newPropElement =>
prop.every(propElement => newPropElement.id !== propElement.id)
)

关于javascript - 省略数组之间的匹配对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48070316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com