JS中求两个JSON数组的交集、并集(数组去重)和补集JS中求两个JSON数组的交集、并集(数组去重)和补集。
这⾥使⽤了Array的filter()、some()两个⽅法。
假设有两个如下JSON数组:
var a = [{a: 1}, {a: 3}, {a: 5}];
var b = [{a: 1}, {a: 2}, {a: 3}, {a: 4}, {a: 5}];
//交集
var result = b.filter(x=>{
return a.some(y=>{
return x.a==y.a;
})
})
console.log(result)  //[{a: 1}, {a: 3}, {a: 5}]
//并集(去重)
var c = a.concat(b);
function removeRepeat(arr){
let result = [];
let temp = {}
arr.forEach(item=>{
if(!temp[item.a]){
result.push(item)
temp[item.a] = true;
}
})
return result
}
console.log(removeRepeat(c))
// 补集
var c = a.concat(b);
var result = c.filter(x=>{
return !a.some(y=>{
return x.a==y.a;
})&&b.some(z=>{
return x.a==z.a;
js合并两个数组
})
})
console.log(result) //[{a: 2},{a: 4}]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。