给定的数组是 arr = [1,3,4,5] 我的代码是
var sum =0;
for(var i=0;i<=arr.length.i++){
sum += arr[i];
}
console.log("Sum of array is "+sum);
输出: 而不是打印
sum of array is :13
正在打印
Sum of array is :NaN
我是 javascript 的新手,所以请帮助我解释输出为什么会出现 NaN
最佳答案
错误在
i<=arr.length
使用
i<arr.length
因为数组索引从 0 到 length-1,并且当 i==arr.length
, 然后 arr[i]===undefined
, 所以 number + undefined
给出 NaN
.
还有,你这里有错字i<=arr.length.i++
, 而不是最后 .
应该是 ;
所以完成示例
var arr = [1,3,4,5];
var sum =0;
for(var i=0;i<arr.length;i++){
sum += arr[i];
}
console.log("Sum of array is "+sum);
document.write("Sum of array is "+sum);
也可以使用 reduce
求和元素下一步的功能
var arr = [1,3,4,5];
var sum =arr.reduce(function(a,b){return a+b;});
console.log("Sum of array is "+sum);
document.write("Sum of array is "+sum);
关于javascript - 添加数组元素时返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36497738/