1、从一个数组中删除另一个数组中存在的元素
案例:
从arr1中删除在arr2中存在的数据
let arr1=[{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'},{id:4,name:'d'}]
let arr2=[{id:2,name:'b'},{id:3,name:'c'}]
let newSelectArray = arr1.filter((item1) => !arr2.some((item2) => item1.id === item2.id))
arr1=newSelectArray
console.log(arr1) //[{id:1,name:'a'},{id:4,name:'d'}]
2、从一个数组中找出另一个数组不存在的元素
案例
找出oldVal数组中存在,但是newVal中不存在的数据,(返回结果为数组)
let oldVal=[{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'},{id:4,name:'d'}]
let newVal=[{id:2,name:'b'},{id:3,name:'c'}]
let diffItem = oldVal.filter(item => {
return !newVal.find(el => {
return el.id === item.id
})
})
console.log(diffItem) //[{id:1,name:'a'},{id:4,name:'d'}]