首页 > 解决方案 > 从数组角度中删除指定的项目

问题描述

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

  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() 不起作用,知道为什么这是错误的吗?

标签: javascriptangular

解决方案


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


推荐阅读