var a = [{ id: 1, t: 1 }, { id: 2, t: 2 }, { id: 3, t: 3 }]
var b = [{ id: 3, t: 3 }]
//想得到的结果
a = [{ id: 1, t: 1 }, { id: 2, t: 2 }]
如何对比a
和b
两个对象数组,a
中的值如果在b
中也存在就去掉这个值?
对象数组不能使用includes
方法来检测
var a = [{ id: 1, t: 1 }, { id: 2, t: 2 }, { id: 3, t: 3 }]
var b = [{ id: 3, t: 3 }]
//想得到的结果
a = [{ id: 1, t: 1 }, { id: 2, t: 2 }]
如何对比a
和b
两个对象数组,a
中的值如果在b
中也存在就去掉这个值?
对象数组不能使用includes
方法来检测
var a = [{ id: 1, t: 1 }, { id: 2, t: 2 }, { id: 3, t: 3 }]
var b = [{ id: 3, t: 3 }]
var c = [];
for(let i of a){
for(j of b){
if(i.id != j.id && i.t != j.t){
c.push(i)
}
}
}
console.log(c);
Object.values([...a,...b].reduce((obj,v)=>{
if(v.id in obj){
delete obj[v.id];
}else{
obj[v.id]=v;
}
return obj;
},{}))
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
是完全一样就去掉还是,一个属性一样就去掉