You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优雅实现1-100计数:替换含3或能被3整除的数?

优化方案

直接用字符串判断覆盖所有含数字3的情况,同时修正变量声明问题,优化后的代码如下:

function checker(num) {
  for (let i = 1; i <= num; i++) {
    // 判断能被3整除,或者数字中包含3
    if (i % 3 === 0 || i.toString().includes('3')) {
      console.log('boom');
    } else {
      console.log(i);
    }
  }
}

checker(100);

优化点说明

  • 替代手动枚举:把数字转为字符串后调用includes('3'),可以一次性判断该数的任意数位是否包含3,不管是个位、十位还是更高位,彻底避免冗余的枚举代码。
  • 规范变量声明:给循环变量i加上let声明,避免产生全局变量,符合JS语法规范。
  • 逻辑保持一致:保留了原代码中“能被3整除则输出boom”的判断逻辑,和“含3则输出boom”的条件用逻辑或连接,实现需求不变。

内容的提问来源于stack exchange,提问作者Alex Raskatov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 22:35:19