let arr1 = [
{fpcid: "2da37fdfe66140089dc3367b21cc6194", fpcNameCode: "34"},
{fpcid: "2da37fdfe66140089dc3367b21cc6195", fpcNameCode: "33"},
{fpcid: "2da37fdfe66140089dc3367b21cc6196", fpcNameCode: "35"},
{fpcid: "2da37fdfe66140089dc3367b21cc6197", fpcNameCode: "36"}
];
let arr2 = [
{fpcid: "2da37fdfe66140089dc3367b21cc6194", fpcNameCode: "34"},
{fpcid: "2da37fdfe66140089dc3367b21cc6195", fpcNameCode: "33"}
];
JS求两个对象数组的差集
[
{fpcid: "2da37fdfe66140089dc3367b21cc6196", fpcNameCode: "35"},
{fpcid: "2da37fdfe66140089dc3367b21cc6197", fpcNameCode: "36"}
]
let arr1 = [
{fpcid: "2da37fdfe66140089dc3367b21cc6194", fpcNameCode: "34"},
{fpcid: "2da37fdfe66140089dc3367b21cc6195", fpcNameCode: "33"},
{fpcid: "2da37fdfe66140089dc3367b21cc6196", fpcNameCode: "35"},
{fpcid: "2da37fdfe66140089dc3367b21cc6197", fpcNameCode: "36"}
];
let arr2 = [
{fpcid: "2da37fdfe66140089dc3367b21cc6194", fpcNameCode: "34"},
{fpcid: "2da37fdfe66140089dc3367b21cc6195", fpcNameCode: "33"}
];
function fn(arr1,arr2){
let maxArr=arr1.length>arr2.length?arr1:arr2
let minArr=arr1.length>arr2.length?arr2:arr1
let newArr=[]
for (let i=0;i<maxArr.length;i++){
var num=0
for(let j=0;j<minArr.length;j++){
if(maxArr[i].fpcid==minArr[j].fpcid || maxArr[i].fpcNameCode==minArr[j].fpcNameCode){
num++
break
}
}
if(num==0){
newArr.push(maxArr[i])
}
}
return newArr
}
console.log(fn(arr1,arr2))
let arr1 = [
{fpcid: "2da37fdfe66140089dc3367b21cc6194", fpcNameCode: "34"},
{fpcid: "2da37fdfe66140089dc3367b21cc6195", fpcNameCode: "33"},
{fpcid: "2da37fdfe66140089dc3367b21cc6196", fpcNameCode: "35"},
{fpcid: "2da37fdfe66140089dc3367b21cc6197", fpcNameCode: "36"}
];
let arr2 = [
{fpcid: "2da37fdfe66140089dc3367b21cc6194", fpcNameCode: "34"},
{fpcid: "2da37fdfe66140089dc3367b21cc6195", fpcNameCode: "33"}
];
var obj = {};
for(var i =0,len=arr1.length; i < len;i++){
obj[arr1[i].fpcid] = arr1[i];
}
for(i = 0,len=arr2.length; i <len; i++){
if(obj[arr2[i].fpcid]){
delete obj[arr2[i].fpcid]
}else{
obj[arr2[i].fpcid] = arr2[i]
}
}
var result = Object.values(obj);
console.log(result)
arr1.reduce((total, item, index, array) => {
let li = arr2.map((i) => JSON.stringify(i) == JSON.stringify(item) ? i : undefined).filter((i) => i)
if (li.length) {
total.push(li[0])
}
return total
}, [])