let arr1 = [
{a: 1, b: 2, c:3, d: 4, f: 5},
{a: 2, b: 3, c:4, d: 5, f: 6}
];
let arr2 = [
{a: 1, b: 2, c:3, d: 4, f: 5},
{a: 2, b: 3, c:4, d: 5, f: 6},
{a: 2, b: 3, c:4, d: 5, f: 7},
{a: 2, b: 3, c:4, d: 7, f: 6}
];JS求两个对象数组的差集
[
{a: 2, b: 3, c:4, d: 5, f: 7},
{a: 2, b: 3, c:4, d: 7, f: 6}
]
{a: 1, b: 2, c:3, d: 4, f: 5},
{a: 2, b: 3, c:4, d: 5, f: 6}
];
let arr2 = [
{a: 1, b: 2, c:3, d: 4, f: 5},
{a: 2, b: 3, c:4, d: 5, f: 6},
{a: 2, b: 3, c:4, d: 5, f: 7},
{a: 2, b: 3, c:4, d: 7, f: 6}
];JS求两个对象数组的差集
[
{a: 2, b: 3, c:4, d: 5, f: 7},
{a: 2, b: 3, c:4, d: 7, f: 6}
]
let arr1 = [
{a: 1, b: 2, c:3, d: 4, f: 5},
{a: 2, b: 3, c:4, d: 5, f: 6}
];
let arr2 = [
{a: 1, b: 2, c:3, d: 4, f: 5},
{a: 2, b: 3, c:4, d: 5, f: 6},
{a: 2, b: 3, c:4, d: 5, f: 7},
{a: 2, b: 3, c:4, d: 7, f: 6}
];let arr3 = arr2.filter(v=>{
var str = JSON.stringify(v);
return arr1.every(v=>JSON.stringify(v)!=str);
});
console.log(arr3);
如何是这种
let arr1 = [
{fpcid: "2da37fdfe66140089dc3367b21cc6194", fpcNameCode: "34"},
{fpcid: "2da37fdfe66140089dc3367b21cc6195", fpcNameCode: "33"},
{fpcid: "2da37fdfe66140089dc3367b21cc6196", fpcNameCode: "35"}
];
let arr2 = [
{fpcid: "2da37fdfe66140089dc3367b21cc6194", fpcNameCode: "34"},
{fpcid: "2da37fdfe66140089dc3367b21cc6195", fpcNameCode: "33"}
];
就不能用了
var str = JSON.stringify(v);
return arr1.every(v=>JSON.stringify(v)!=str);
}).concat(arr1.filter(v=>{
var str = JSON.stringify(v);
return arr2.every(v=>JSON.stringify(v)!=str);
}));
var str = JSON.stringify(arr1[i]);
var f = false;
for (var j = arr2.length-1; j >= 0; j--) {
if (JSON.stringify(arr2[j])==str) {
arr2.splice(j,1);
f = true;
}
}
if (f)
arr1.splice(i,1);
}
let arr3 = arr1.concat(arr2);