首页 > 解决方案 > 在数组中添加数字,得到输出 NaN

问题描述

无法弄清楚为什么我会得到 NaN。尝试编写一个接受数字数组并返回数组中所有数字之和的函数。对 forEach 进行了同样的尝试 - 效果很好。

function sumArray(numArr){
    var sum = 0;
    for(var i = 0; i <= numArr.length; i++){
      sum += numArr[i]   
    }
   return sum;
}
sumArray();

标签: javascriptarraysfor-loop

解决方案


尝试使用 i<numArr.length 而不是 i<=numArr.length。数组索引从 0 开始,到 n-1 结束,其中 n 是数组的长度。您正在尝试访问数组边界之外的索引,该索引将返回未定义并将一个数字添加到未定义给出 NaN。


推荐阅读