У меня есть корзина, в которой я должен иметь возможность добавить условную скидку к функции, которая в настоящее время получает цену товара и умножает ее на количество. В настоящее время функция работает как брелок без скидки, однако скидка должна быть в состоянии определить, есть ли два или более элемента с одинаковым «тегом» (например, «сырная пицца», «грибная пицца», «гавайская пицца») а затем вычтите сумму из возвращенной суммы для его работы. Как мне этого добиться?
Эта функция получает общую стоимость всех предметов в корзине пользователя
get totalAmount() {
let total = 0;
this.cart.forEach(item => (total += this.getItemTotal(item)));
///// possible conditional statement here
////// something like if (item.tags == "cheese"){
/////// return total - 2; }
//////// ( currently just errors out to "**item not found**" even though I thought
///// since the parameter "item" was in the function within the function it could recognize it)
return total;
}
Эта функция находится внутри вышеуказанной функции. Он используется для получения промежуточного итога по отдельному предмету, включая его параметры
getItemTotal(item) {
let total = item.price * item.quantity;
item.options.forEach(option => (total += option.value * item.quantity));
return total;
}
Ниже приведен пример предмета с «биркой» сыра. Условный блок должен определить, есть ли два тега, которые похожи на тег сыра, а затем отнять 2 доллара от суммы в первой функции
"item": [
{
"id": 1,
"guid": "1d4aa3b2-c059-4fa7-a751-9bca735e4ea1",
"thumb": "https://foodorderingapp9309.s3-us-west-
1.amazonaws.com/CheesySenstions/menu/CheesePizza.JPG",
"title": "Cheese",
"body": "try new cheese pizza",
"tags": ["pizza"],
}
]