在 TypeScript 中,如果键值已经存在,可以通过以下几种方式从数组中删除对象:
filter
方法:可以使用 filter
方法来创建一个新的数组,其中不包含指定键值的对象。示例代码如下:const array = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
];
const newArray = array.filter(obj => obj.id !== 2);
console.log(newArray);
输出结果为:
[
{ id: 1, name: 'John' },
{ id: 3, name: 'Bob' }
]
splice
方法:可以使用 splice
方法来直接修改原始数组,删除指定键值的对象。示例代码如下:const array = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
];
for (let i = 0; i < array.length; i++) {
if (array[i].id === 2) {
array.splice(i, 1);
break;
}
}
console.log(array);
输出结果为:
[
{ id: 1, name: 'John' },
{ id: 3, name: 'Bob' }
]
reduce
方法:可以使用 reduce
方法来遍历数组,并根据指定键值进行删除操作。示例代码如下:const array = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' }
];
const newArray = array.reduce((acc, obj) => {
if (obj.id !== 2) {
acc.push(obj);
}
return acc;
}, []);
console.log(newArray);
输出结果为:
[
{ id: 1, name: 'John' },
{ id: 3, name: 'Bob' }
]
以上是三种常见的从数组中删除指定键值对象的方法。根据具体的业务需求和代码结构,选择适合的方法即可。
领取专属 10元无门槛券
手把手带您无忧上云