const eleIsNotInArr = (ele, arr) => arr.every(m => m != ele)
let newArr1 = [1,2,3].filter(item => eleIsNotInArr(item, [2,3,4]));//1
let newArr2 = [2,3,4].filter(item => eleIsNotInArr(item, [1,2,3]));//4
console.log(newArr1,newArr2);
const eleIsNotInArr = (ele, arr) => arr.some(m => m == ele)
let newArr1 = [1,2,3].filter(item => eleIsNotInArr(item, [2,3,4]));//2,3
let newArr2 = [2,3,4].filter(item => eleIsNotInArr(item, [1,2,3]));//2,3
console.log(newArr1,newArr2);
实例:
let oldData = [{id:1,name:'张三'},{id:2,name:'李四'}]
let newData = [{id:2,name:'李四'},{id:3,name:'王五'}]
let diffArr= newData.filter(item =>oldData.every(v=>v.id!=item.id)) // [{id:3,name:'王五'}]
let finnalArr = oldData.concat(diffArr)
console.log(finnalArr) // [{id:1,name:'张三'},{id:2,name:'李四'},{id:3,name:'王五'}]
let oldData = [{id:1,name:'张三'},{id:2,name:'李四'}]
let newData = [{id:2,name:'李四'},{id:3,name:'王五'}]
let diffArr= oldData.concat(newData .filter(item =>oldData.every(v=>v.id!=item.id)))
console.log(finnalArr) // [{id:1,name:'张三'},{id:2,name:'李四'},{id:3,name:'王五'}]