javascript - 在数组中添加数字,得到输出 NaN
问题描述
无法弄清楚为什么我会得到 NaN。尝试编写一个接受数字数组并返回数组中所有数字之和的函数。对 forEach 进行了同样的尝试 - 效果很好。
function sumArray(numArr){
var sum = 0;
for(var i = 0; i <= numArr.length; i++){
sum += numArr[i]
}
return sum;
}
sumArray();
解决方案
尝试使用 i<numArr.length 而不是 i<=numArr.length。数组索引从 0 开始,到 n-1 结束,其中 n 是数组的长度。您正在尝试访问数组边界之外的索引,该索引将返回未定义并将一个数字添加到未定义给出 NaN。
推荐阅读
- javascript - 有效负载内容长度大于允许的最大值:1048576 - Axios (Electron) 和 nodeJS
- c++ - 检查默认删除的函数模板是否明确专门用于特定类型?
- python - Python 请求响应以 JSON 格式打印 U' 被添加到结果中
- jenkins - JenkinsFile block access to Shared Library Code
- c# - .exe 依赖项找不到 .dll
- kotlin - Kotlin 数组切片索引
- python - How to make pie chart with optimized code?
- powershell - Import-CSV doesn't load the file
- laravel - Laravel + Vue 教程,无法正常工作
- handlebars.js - Can a handlebars partial result be used as a helper's argument?