我试图找到数组中所有元素的总和,但它不起作用。
var nums = [10, 20, 30, 40];
var num;
for (var i = 0; i <= nums.length; i++) {
num += parseInt(nums[i]);
}
alert(num);
&#13;
答案 0 :(得分:0)
使用Array.reduce函数计算总和
var nums = [10,20,30,40];
var num=nums.reduce(function(previousValue, currentValue, currentIndex, array) {
return previousValue + currentValue;
});
alert(num);
答案 1 :(得分:0)
由于nums.length
为4
,因此索引从0
运行到3
。 i <= nums.length
应为i < nums.length
。最后一次迭代是在数组外部访问,因此它添加undefined
,结果为NaN
。
您还需要将num
初始化为0
。
当数组包含整数时,无需调用parseInt()
。
var nums = [10, 20, 30, 40];
var num = 0;
for (var i = 0; i < nums.length; i++) {
num += nums[i];
}
alert(num);
答案 2 :(得分:0)
这里的第一个问题,你num
是未定义的,第二个是数组是0索引因此你的循环中的i =< nums.length
将返回未定义的最后一次迭代
var nums = [10, 20, 30, 40];
var num = 0;
for (var i = 0; i < nums.length; i++) {
num += parseInt(nums[i]);
}
alert(num);
&#13;