如何在TypeScript中按ID列表从数组中删除对象



我有一个具有特定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);

最新更新