JS遍历数字数组判断数值<25或≥25的代码运行异常排查
代码错误点
- for循环结尾多了一个多余的
;,导致循环只会执行空语句,循环跑完才会执行后面的代码。此时i的值为11,超出数组下标最大值10,numArray[i]取到undefined,后续逻辑直接报错无法运行。 - 没有用花括号
{}包裹循环体,就算删掉多余分号,默认也只会把let message这一行纳入循环执行,console.log只会执行1次,不符合输出11次的要求。 - 三目运算符语法冗余,两个判断已经覆盖了所有数值情况,可以直接简化写法,原写法也存在语法缺失风险。
修复后代码
let numArray = [4, 2, 5, 10, 5, 3, 7, 22, 3, 70, 37]; for (let i = 0; i < numArray.length; i++) { let message = numArray[i] > 25 ? "Big Number!" : "Small number"; console.log(message); }
运行后会输出9次Small number、2次Big Number!,完全符合预期。
内容的提问来源于stack exchange,提问作者Atchafalaya
相关产品推荐
相关产品推荐

