删除对象数组中的项目:打字稿
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" 。但它仍然没有删除元素。
回答
您需要在过滤后分配值。
bucketList = bucketList.filter(function (obj) {
return obj.itemName !== 'Goa Trip';
});
console.log(bucketList);