首页 > 解决方案 > 删除对象数组中的项目:打字稿

问题描述

export class AppComponent implements OnInit {

  title = 'bucketList';
  bucketList: BucketListItem[] = [
    new BucketListItem(
      "Goa Trip",
      "Travel to Goa"
    )
  ];

  ngOnInit() {

  }
  onItemAdded(eventData) {
    this.bucketList.push(new BucketListItem(eventData.itemName, eventData.itemDescr));
  }
  onItemDeleted(delData) {   //delData = "Goa Trip"
    console.log(this.bucketList); //prints {"itemName":"Goa Trip","itemDescr":"Travel to Goa"
    this.bucketList = this.bucketList.filter(function (obj) {
      return obj.itemName !== delData;
    });
    console.log(this.bucketList);  //prints {"itemName":"Goa Trip","itemDescr":"Travel to Goa"
  }
}

我正在尝试根据itemName从数组中删除一个对象,其中 itemName === "Goa Trip" 。但它仍然没有删除元素。

标签: javascriptangulartypescript

解决方案


您需要在过滤后分配值。

bucketList = bucketList.filter(function (obj) {
      return obj.itemName !== 'Goa Trip';
});
console.log(bucketList);

推荐阅读