我需要加一个购物篮的总数,但我不知道如何用玉器做这个
以下是我认为我可以实现它的方法,但它不起作用,我试过的其他方法只是继续抛出错误。
有谁知道我会怎么做?
each item in bagItems
- var total = total + item.realprice
p= total
答案 0 :(得分:6)
使用阵列上的reduce方法应该很容易。
p= bagItems.reduce(function(total, item) { return total + item.realprice; }, 0)
答案 1 :(得分:3)
Prestaul的reduce
答案是一个很好的解决方案,但我想我也会回答你,让你更深入地了解发生的事情。
问题是在each
循环内创建的变量在循环外部不可用。您的代码在JavaScript中看起来像这样:
bagItems.forEach(function(item) {
var total = total + item.realprice;
});
write("<p>" + total + "</p>");
我假设你熟悉JS的变量范围,但是函数内部定义的var
基本上不能在它之外访问。
第二个问题是你将总数定义为等于自身+其他东西,但是你永远不会给它一个初始值,所以它最终会变成undefined + item.realprice
NaN
。
这是解决这两个问题的替代解决方案:
- var total = 0
each item in bagItems
- total += item.realprice
p= total
答案 2 :(得分:-4)
您通常不会在任何模板语言中操纵模板中的数据。计算应用中的总数并将变量传递给模板。