Я хочу сравнить идентификатор объекта со всеми идентификаторами объектов в массиве.
Итак, у меня есть кнопка, где я могу добавить блюдо в массив заказов.Если он не существует в массиве, тогда добавьте его в массив.Но когда он существует, замените текущий на новый объект блюда.
это выглядит примерно так:
const dish = {id:1, quantity: 4};
// This will be filled by an array push
const orders = [
{id: 1, dish: {id:1, quantity: 1}},
{id: 2, dish: {id:3, quantity: 5}},
{id: 3, dish: {id:5, quantity: 1}},
{id: 4, dish: {id:2, quantity: 3}},
{id: 5, dish: {id:8, quantity: 1}}
]
Так что в основном у меня есть orderID
и dishID
Что я пробовал:
addToCart(dish){
const index = this.orders.findIndex((e) => e.id === dish.id);
if(index >= 0){
console.log('INDEX1', this.orders, index);
this.orders[index] = {id: this.orders[index].id, dish: this.orders[index].dish};
} else {
this.orderCounter = this.orderCounter + 1;
this.orders.push({id: this.orderCounter, dish: dish});
}
}
index
возвращает -1, когда я добавляю третий элемент блюда два раза, который выглядит следующим образом:
dish = {id: 3, quantity: 2}
Чеммассив заказов выглядит так:
const orders = [
{id: 0, dish: {id:1, quantity: 1}},
{id: 1, dish: {id:3, quantity: 2}},
{id: 2, dish: {id:3, quantity: 2}},
]
Может ли кто-нибудь мне помочь, я ценю это:)