请考虑以下数据:
food = {
id: 1,
name: 'Pizza',
price: 16
};
orders = [
{ food_id: 2, table_id: 5 },
{ food_id: 2, table_id: 5 },
{ food_id: 1, table_id: 5 },
{ food_id: 3, table_id: 5 },
{ food_id: 1, table_id: 5 }
];
我想要从 orders 数组中删除匹配 food_id
的一个项目。这是我尝试过的:
removeFoodOrder(food: Food): void {
for (let order of this.orders) {
let match = this.orders.filter((order) => order.food_id == food.id);
match ? this.orders.splice(this.orders.indexOf(order), 1) : null;
break;
}
console.log(this.orders);
}
如果我调用 removeFoodOrder(food)
,无论我传入什么食物项参数,它都会从数组中删除第一个元素。
removeFoodOrder(food)
// removes {food_id: 2, table_id: 5} (the first element)
// I want to remove {food_id: 1, table_id: 5},
我想从数组中针对匹配的元素并移除其中的一个实例。我哪里做错了吗?