从数组angular中删除指定的项



我知道我可以从数组中删除最后一个项和第一个项,但我需要删除指定的基于项的值这是我的阵列

arrayItems: {
volume: number;
title: string;
}[];

this.arrayItems = [{
volume: 11,
title: 'Title'
}];

这是我的例子,我有html

<div *ngFor="let arrayItem of arrayItems; let i=index">
<label>{{arrayItem.i}}</label>
<div (click)="removeItem(i)">remove item</div>
</div>

以及添加和删除项目

addItem() {
const item = {
volume: 2,
title: 'Naslov 2'
};
this.arrayItems.push(item);
}

removeItem(index) {
this.arrayItems.slice(index, 1);
}

但是removeItem((不起作用,你知道为什么这是错误的吗?

这是因为您使用Array.slice,而使用Array.splice。SLice不会更改原始数组,而是返回一个新数组,但拼接也会修改原始数组(供参考,请参阅此处(

使用splice从JSON数组中删除指定项,如下所示:

removeItem(index) {
this.arrayItems.splice(index, 1);
}

最新更新