我如何添加for循环返回的数字?

时间:2018-04-24 13:48:14

标签: javascript loops for-loop

我需要添加montoClean的所有结果。有任何想法吗?谢谢!

for(e=0; e< montos.length; e++) {
    monto = montos[e].innerHTML;
    montoClean = Number(monto.replace('$','').replace('.', '').replace(',', '.').replace('.00', ''));
}

5 个答案:

答案 0 :(得分:3)

您可以使用reduce

montos.reduce(
  (sum,mon)=>
    sum + Number(
      mon.innerHTML.replace('$','').replace('.', '').replace(',', '.').replace('.00', '')
    ),
  0
);

答案 1 :(得分:2)

在for-loop

之前移动montoClean变量
montoClean = 0;
for(e = 0; e < montos.length; e++) {
    monto = montos[e].innerHTML;
    montoClean += Number(monto.replace('$','').replace('.', '').replace(',', '.').replace('.00', ''));
}

答案 2 :(得分:1)

let total = 0;
for(e=0; e< montos.length; e++) {
    monto = montos[e].innerHTML;
    montoClean = Number(monto.replace('$','').replace('.', '').replace(',', '.').replace('.00', ''));
    total +=montoClean
}

答案 3 :(得分:1)

你应该在循环之前创建一个变量,比如let totalValue = 0;

然后,您应该在循环中添加该数字,因此在for循环结束时:totalValue += montoClean

答案 4 :(得分:0)

应该只能将montoClean =设置为自身+新结果。每次迭代都将包含先前的总数并添加最新的数字,从而得到所有迭代结果的总和。

 for(e=0; e< montos.length; e++) {
     monto = montos[e].innerHTML;
     montoClean = montoClean + Number(monto.replace('$','').replace('.', '').replace(',', 
 '.').replace('.00', ''));
 }