求和循环不执行加法。

时间:2017-10-01 01:55:50

标签: arrays loops sum

我无法弄清楚为什么数字没有加在一起。 其他一切似乎都按预期工作。比如说,我输入数字3和4.总和计算为'034',我需要它为'7'。

function calculateSumAverage(){
// get input
    var userChoice = document.getElementById("numInput").value;
// split it somehow with .split(" ")
    var array = userChoice.split(" ");
// set sum var to 0
    var sum = 0;
// set avg var to 0
    //var avg = 0;
// loop input array and sum
    for (var i = 0; i < array.length; i++) {
        sum = sum + array[i];
    }
// calc average
    //var avg = sum / inputs.length;
// outpout to div
    document.getElementById("result").innerHTML = sum; 
    //document.getElementById("result").innerHTML = avg;


}

2 个答案:

答案 0 :(得分:0)

也许您会在使用+之前将数组元素转换为整数。

答案 1 :(得分:0)

您输出的原因是&#39; 034&#39;是因为字符串上的+=附加到字符串。如果数组中的值是字符串,则需要先将它们解析为整数,然后再积累它们。

使用parseInt()

可以实现简单的解析
for (var i = 0; i < array.length; i++) {
    sum = sum + parseInt(array[i]);
}