Javascript 忽略数组之间的匹配对象

Javascript 忽略数组之间的匹配对象,javascript,Javascript,我试图将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'} ....] 这是我尝试过的,不知道是否有更好/更干净的方法来解决这

我试图将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,名称:'John Doe'},{id:2,名称:'Jane Doe'},{id:3,名称:'Baby Doe'}]
让newProp=[{id:4,名称:'Johnny Doe'},{id:1,名称:'John Doe'}]
道具地图((i,Iindex)=>{
newProp.map((o,oIndex)=>{
如果(i.id==o.id){
支柱拼接(Iindex,1);
控制台日志(道具);
} 
})

})
一种方法是将不需要的项目过滤掉

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

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

“它将从newProp数组中删除”,但示例将它们从prop中删除。@Slai是的,代码和描述不匹配