首页 > 解决方案 > Linio 挑战 - 打印数字 bw 1 到 100 分别用 linio、IT、liianos 替换 3 的倍数、5 的倍数和 3 和 5 的倍数

问题描述

编写一个程序,打印从 1 到 100 的所有数字。但是,对于

3 的倍数,而不是数字,打印“Linio”。对于 5 的倍数打印

“它”。对于同时是 3 和 5 的倍数的数字,打印“Linianos”。

但这里有一个问题:你只能使用一个if. 没有多重分支三元

运算符或else.

标签: javascript

解决方案


没有单个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);


推荐阅读