使用javascript的数组中的数字总和
我试图得到一个数组中所有数字的总和。我试着用最简单的方法来做,但是总和显示为NAN。为什么会这样?请帮忙使用javascript的数组中的数字总和,javascript,sum,Javascript,Sum,我试图得到一个数组中所有数字的总和。我试着用最简单的方法来做,但是总和显示为NAN。为什么会这样?请帮忙 var数=[45,34,12,10,8,9]; var i; 对于(i=0;i而言,问题在于您在循环中声明sum变量,而没有对其进行初始化 所以你得到了undefined+numbers[i],它等于NaN var数=[45,34,12,10,8,9]; var i; var总和=0; 对于(i=0;i问题在于sum的定义超出了您的函数范围,因此您实际执行的是var sum=undefi
var数=[45,34,12,10,8,9];
var i;
对于(i=0;i而言,问题在于您在循环中声明sum变量,而没有对其进行初始化
所以你得到了undefined+numbers[i]
,它等于NaN
var数=[45,34,12,10,8,9];
var i;
var总和=0;
对于(i=0;i问题在于sum
的定义超出了您的函数范围,因此您实际执行的是var sum=undefined+numbers[i]
(即NaN
)
即使如此,最好使用或箭头函数(如果可以使用ES6)
使用reduce()
:
var编号=[45,34,12,10,8,9],
sum=numbers.reduce(函数(a,b){返回a+b;},0);
document.getElementById('output')。innerHTML=sum;
您正在为每个循环迭代创建一个新的sum
变量,并且在声明之前使用它,因此未定义+
为您提供NaN
var总计=0;
[45,34,12,10,8,9].forEach(num=>{total+=num});
document.getElementById(“demo”).innerHTML=`总和为:${total}`;
JavaScript
此示例查找数组中所有数字的总和:
每次实例化sum时,将var sum从循环中取出,并获得sum
您还可以使用Array.prototype.reduce:
var-sum=[1,2,3].reduce(add,0);
功能添加(a、b){
返回a+b;
}
console.log(sum);//6
您应该在全局范围内为
定义
的的中定义和需要在循环外使用0进行初始化:var sum=0;
我已经解决了。谢谢!)。我没有初始化变量。。请检查其他答案。在答案中添加一些代码可以使你的答案更有吸引力。这只是此问题的简化副本。