给定数组是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);
Run Code Online (Sandbox Code Playgroud)
输出:而不是打印
数组的总和是:13
它在打印
数组的总和是:NaN
我是javascript的新手,所以请帮助我解释输出为什么它即将到来的NaN
错误
i<=arr.length
Run Code Online (Sandbox Code Playgroud)
使用
i<arr.length
Run Code Online (Sandbox Code Playgroud)
因为阵列索引为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);Run Code Online (Sandbox Code Playgroud)
另外,对于求和元素,您可以使用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);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |