我有一个具有特定ID的对象数组和另一个也具有指定ID的对象的第二个数组。我想从第一个数组中删除与第二个数组中的对象具有相同ID的对象。我该怎么做?
这就是你想要做的吗?
let arr1 = [{
id: 0,
name: 'x'
}, {
id: 1,
name: 'y'
}, {
id: 2,
name: 'z'
}];
const arr2 = [{
id: 0,
name: 'x'
}];
arr1 = arr1.filter(element => !arr2.find(el => el.id === element.id));
console.log(arr1);
这里有一个链接,似乎适合您想要实现的目标。
如何在JavaScript中合并两个数组并消除重复项
您可以在Array.filter()
和Array.includes()
方法的帮助下简单地实现此要求。
实时演示:
const arr1 = [{
id: 1
}, {
id: 2
}, {
id: 3
}, {
id: 4
}, {
id: 5
}];
const arr2 = [{
id: 2
}, {
id: 3
}, {
id: 5
}];
const res = arr1.filter(obj => !arr2.map(({ id }) => id).includes(obj.id));
console.log(res);