两个数组去重的JS代码
const list1 = [
{id: 0, name: 'xiaomin'},
{id: 1, name: 'xiaohong'},
];
const list2 = [
{id: 0, name: 'xiaomin'},
{id: 1, name: 'xiaohong'},
{id: 3, name: 'xiaomin'},
{id: 4, name: 'xiaohong'},
];
// 首先构造Object
const idSet = list1.reduce((acc, v) => {
acc[v.id] = true;
return acc;
}, {});
// 遍历list2,去掉在idSet中存在的id
const result = list2.filter(v => !idSet[v.id]);
第二种方法
var result = list2.filter(function(item1) {
return list1.every(function(item2) {
return item2.id !== item1.id
})
})
console.log(result);