在添加数组

时间:2016-04-08 10:47:40

标签: javascript

给定数组是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

的输出

2 个答案:

答案 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++){