JavaScript循环录入数值时统计有效输入条数问题求助
问题原因
- 当前代码会将包括终止符
quit在内的所有用户输入都存入numList数组,且你声明的total计数变量没有做更新逻辑,因此无法统计有效输入条数 - 你当前遍历输出数组的时候已经手动减去了最后一位的
quit,但没有对应做计数统计
修复后完整代码
<script> var userWord = ""; var numList = []; var total = 0; do { userWord = prompt("请输入数字,输入quit结束录入"); // 处理用户点取消的异常情况,避免脚本报错 if (userWord === null) { userWord = "quit"; } userWord = userWord.toLowerCase(); // 仅非quit的输入判定为有效输入 if (userWord !== "quit") { numList.push(userWord); total++; } } while (userWord !== "quit") // 输出所有有效输入内容 document.writeln("<p>你输入的有效内容为:"); for (let t = 0; t < numList.length; t++) { document.write(numList[t]); if (t < numList.length - 1) { document.write(", "); } } document.writeln("</p>"); // 输出有效输入总条数 document.writeln(`<p>有效输入总条数为:${total}</p>`); </script>
核心修改点
- 输入转小写后先判断是否为
quit,仅非quit的内容才存入数组,同时累加计数变量total - 补充了用户点击prompt取消按钮的异常处理,避免脚本报错
- 简化了数组遍历逻辑,不需要再手动减去数组长度,因为quit根本不会存入数组
- 最后直接输出
total变量即可得到有效输入总条数
内容的提问来源于stack exchange,提问作者user17236739
相关产品推荐
相关产品推荐

