JavaScript 通过迭代添加数字

JavaScript Adding Numbers through Iteration

我正在尝试计算数组中所有元素的总和,但没有成功。

var nums = [10, 20, 30, 40];
var num;

for (var i = 0; i <= nums.length; i++) {
  num += parseInt(nums[i]);
}
alert(num);

使用Array.reduce函数计算总和

var nums = [10,20,30,40]; 
var num=nums.reduce(function(previousValue, currentValue, currentIndex, array) {
  return previousValue + currentValue;
});
 alert(num);

JSFIDDLE

由于nums.length4,索引运行从03i <= 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);

这里的第一个问题,你 num 是未定义的,第二个是数组是 0 索引因此 i =< nums.length 在你的循环中将 return 最后一次迭代

未定义

var nums = [10, 20, 30, 40];
var num =  0;

for (var i = 0; i < nums.length; i++) {
  num += parseInt(nums[i]);
}
alert(num);