如何使用for循环添加多个数据层参数?
How to add multiple datalayer parameters with for loop?
我有一个带参数 "Price" 的数据层,我想添加它,例如799 + 95 + 95.
DigitalData[0].Cart.Items[0].Price
Returns "799.00"
相信可以 JavaScript For Loop 实现我正在寻找的价格减法。但是我不熟悉如何输入这种情况。我正朝着正确的方向前进吗?看看下面的代码?
for (i = 0; i < items.length; i++) {
DigitalData[0].Cart.Items[i].Price;
}
您需要一个变量来存储总和:
var sum = 0;
var items = DigitalData[0].Cart.Items;
for (i = 0; i < items.length; i++) {
sum += parseInt(items[i].Price);
}
var totalPrice = 0;
for (i = 0; i < items.length; i++) {
var price = DigitalData[0].Cart.Items[i].Price;
price = parseFloat(price);
totalPrice += price;
}
您可以使用 Array#reduce
:
var sum = DigitalData[0].Cart.Items.reduce(function (r, a) {
return r + +a.Price;
}, 0);
你是对的,这是完整的解决方案:
var sum=0;
for (i = 0; i < items.length; i++) {
sum+=DigitalData[0].Cart.Items[i].Price;
}
我有一个带参数 "Price" 的数据层,我想添加它,例如799 + 95 + 95.
DigitalData[0].Cart.Items[0].Price
Returns "799.00"
相信可以 JavaScript For Loop 实现我正在寻找的价格减法。但是我不熟悉如何输入这种情况。我正朝着正确的方向前进吗?看看下面的代码?
for (i = 0; i < items.length; i++) {
DigitalData[0].Cart.Items[i].Price;
}
您需要一个变量来存储总和:
var sum = 0;
var items = DigitalData[0].Cart.Items;
for (i = 0; i < items.length; i++) {
sum += parseInt(items[i].Price);
}
var totalPrice = 0;
for (i = 0; i < items.length; i++) {
var price = DigitalData[0].Cart.Items[i].Price;
price = parseFloat(price);
totalPrice += price;
}
您可以使用 Array#reduce
:
var sum = DigitalData[0].Cart.Items.reduce(function (r, a) {
return r + +a.Price;
}, 0);
你是对的,这是完整的解决方案:
var sum=0;
for (i = 0; i < items.length; i++) {
sum+=DigitalData[0].Cart.Items[i].Price;
}