javascript - 添加数组元素时返回 NaN

标签 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);

输出: 而不是打印

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/

相关文章:

javascript - 单击时停用页面的一部分

javascript - 当导航到组件时, Angular 组件是否会被破坏?

javascript - Botkit 的监听处理函数未在 Slack channel 上回复

javascript - 如何最好地将 ClientRect/DomRect 转换为普通对象

javascript - Google map API V3 - 元素 onClick - 中心 map /打开信息窗口

javascript - 如何使用 React Router 将路由设为私有(private)

javascript - Rails 通过 Javascript 提交部分错误

javascript - 如何关闭 fullCalendar 中以前的弹出窗口?

javascript - 当我点击它时,我想让我的图像弹出更大

javascript - 对闭包内对象的赋值行为类似于指针