javascript - 为什么这个 for 循环不记录总和?
问题描述
我试图在函数中使用这个 for 循环来获取数组的总和。但是,当我调用该函数时,我收到 NaN。
tips = [1,2,3,4,5]
function sumTip (tips){
for (i=0; i<tips.length; i++){
var total = total + tips[i];
console.log(total);
}
}
sumTip();
解决方案
- 错误 1 - 语法错误。它应该是
tips.length
而不是length.tips
。 - 错误 2 - 您在调用函数时没有将参数提供给函数。它应该是
sumTip(tips);
- 错误 3 -
i
未在循环中声明。 - 错误 4 - 为了使您的逻辑正常工作,
total
应该在 for 循环外声明并初始化为零,然后在循环内使用。
你正在做 -var total = total + tips[i];
当 total 尚未定义时,表达式中的total + tips[i]
计算结果为 NaN,这就是你将 Nan 作为输出的原因。
纠正上述错误后,以下代码应该可以工作 -
tips = [1,2,3,4,5]
function sumTip (tips){
var total = 0;
for (var i=0; i<tips.length; i++){
total = total + tips[i];
console.log(total);
}
}
sumTip(tips);
推荐阅读
- javascript - 循环遍历元素上的每个数据属性并从中创建变量
- python - 使用 x、y 和 z 数组绘制热图
- python - 在 python 3 中,如何注入一个函数以便后续导入工作?
- wordpress - 使用自定义 css 时 Elementor 标头中断
- dependency-injection - 在 Nest.js 中实现策略
- format - gcloud dns 托管区域列表以及记录集计数格式
- python - Jupyter Notebook 在运行大型 SQL 查询时崩溃
- jenkins - 詹金斯脚本化管道没有拉出 Github 存储库。下面是错误
- tensorflow - 无法使用 TF 2.4.1 将 onnx 模型转换为 tflite
- c - 为什么新创建的 windows 进程中有两个堆?