JS求两个对象数组的差集

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
    }, [])