javascript - Linio 挑战 - 打印数字 bw 1 到 100 分别用 linio、IT、liianos 替换 3 的倍数、5 的倍数和 3 和 5 的倍数
问题描述
编写一个程序,打印从 1 到 100 的所有数字。但是,对于
3 的倍数,而不是数字,打印“Linio”。对于 5 的倍数打印
“它”。对于同时是 3 和 5 的倍数的数字,打印“Linianos”。
但这里有一个问题:你只能使用一个if
. 没有多重分支,三元
运算符或else
.
解决方案
没有单个if的代码的修改版本
var replacer = ["IT", "Linio", "Linianos"];
var accumulator = [];
for (i = 1; i <= 100; i++) {
((i % 3 == 0 || i % 5 == 0)
&& accumulator.push(replacer[Number(i % 3 == 0 && i % 5 >= 1) + (Number(i % 3 == 0 && i % 5 == 0) * 2)]))
|| accumulator.push(i);
}
console.log(accumulator);
推荐阅读
- typescript - 为什么我收到 ModuleNotFoundError: Module not found: Error: Can't resolve
- swift - 如何在 Swift InputStream 中实现 skip() 方法
- c# - Docfx 3.0.0 如何获取 Index.html 上的目录
- entity-framework-core - EF Core 5:Include With Where 语句后跟 ThenInclude——继承问题
- php - 字符以指定的行长从左到右水平移动 (CLI)
- reactjs - 从使用 redux 连接功能的其他文件导入功能
- python - 一旦其中一个完成,如何获取多线程的返回值?
- git - 仅忽略调试项目中的文件夹
- php - 将请求发布到 formController(内部)
- caching - 如何忽略 Redis 连接异常(Put 和 Evict)