JavaScript遍历0-100统计奇偶和按数组输出问题
问题排查与修正方案
现有代码的错误点
- 仅定义了1个累加变量,计算的是0-100所有数字的总和,没有拆分偶数、奇数分别统计
- 输出逻辑错误:将总和转为字符串后拆分为单字符数组,才会得到逐位拆分的
['2', '5', '0', '0'],不符合两个求和值组成数组的要求。
奇偶判断的分支选择
奇偶判断属于非此即彼的二分支逻辑,直接用if...else结构即可,不需要多分支的else if:
- 判断条件用取余运算即可:当数字
i满足i % 2 === 0(除以2余数为0)时为偶数,其余情况均为奇数。
可直接运行的正确代码
// 初始化偶数和、奇数和两个累加变量,初始值均为0 let evenSum = 0; let oddSum = 0; // 遍历0到100的所有整数 for (let i = 0; i <= 100; i++) { if (i % 2 === 0) { // 偶数累加到偶数和变量 evenSum += i; } else { // 奇数累加到奇数和变量 oddSum += i; } } // 按[偶数和, 奇数和]的顺序组装数组直接输出 console.log([evenSum, oddSum]);
运行上述代码会输出预期结果[2550, 2500],其中:
- 偶数和为0+2+4+…+100 = 2550
- 奇数和为1+3+5+…+99 = 2500
内容的提问来源于stack exchange,提问作者ashrth
相关产品推荐
相关产品推荐

