Как добавить несколько параметров слоя данных с помощью цикла for?
У меня есть слой данных с параметром "Цена", который я хочу добавить, например, 799 + 95 + 95.
DigitalData[0].Cart.Items[0].Price
Возвращает "799,00"
Поверьте, можно использовать JavaScript для Loop, чтобы добиться вычитания цены, которую я ищу. Но я не знаю, как напечатать этот сценарий. Я иду в правильном направлении? Смотрите ниже код?
for (i = 0; i < items.length; i++) {
DigitalData[0].Cart.Items[i].Price;
}
4 ответа
Решение
Вам нужна переменная для хранения суммы:
var sum = 0;
var items = DigitalData[0].Cart.Items;
for (i = 0; i < items.length; i++) {
sum += parseInt(items[i].Price);
}
Вы могли бы использовать Array#reduce
:
var sum = DigitalData[0].Cart.Items.reduce(function (r, a) {
return r + +a.Price;
}, 0);
var totalPrice = 0;
for (i = 0; i < items.length; i++) {
var price = DigitalData[0].Cart.Items[i].Price;
price = parseFloat(price);
totalPrice += price;
}
Вы на правильном пути, это полное решение:
var sum=0;
for (i = 0; i < items.length; i++) {
sum+=DigitalData[0].Cart.Items[i].Price;
}