给定数组是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);
输出: 而不是打印
数组的总和是:13
正在打印
数组的总和是:NaN
我是javascript的新手,所以请帮助我解释为什么它的NaN
的输出答案 0 :(得分:5)
中的错误
i<=arr.length
使用
i<arr.length
因为数组的索引从0到长度为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);
答案 1 :(得分:1)
i<=arr.length.i++
的两个问题:
使用<=
表示在到达数组结束后,循环将再继续一次。请改用<
。
.i++
,此处.
应为分号;
修正:
for(var i=0;i<arr.length;i++){