我知道我可以从数组中删除最后一个项和第一个项,但我需要删除指定的基于项的值这是我的阵列
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);
}