如何在不使用%运算符的情况下在JavaScript中编写FizzBu​​zz

Dim*_*dha 0 javascript fizzbuzz ecmascript-6

我知道如何在JavaScript中编写简单的FizzBu​​zz代码:

 x = 0;while (++x < 1000)console.log((x % 3 ? "" : "Fizz") + (x % 5 ? "" : "Buzz") || x);
Run Code Online (Sandbox Code Playgroud)

但是,如何在不使用'%'运算符的情况下获得相同的结果?

Joh*_*anP 5

想想%实际上是什么,它只是你用一个东西划分数字时的余数.您可以除以数字,然后向下舍入结果,然后将其与除数相乘并从数字中减去.

const mod = (num,div)=> {
    const res =  (num / div) | 0; // coerce to int
    return num - (res * div);
}

console.log(mod(8,5));
Run Code Online (Sandbox Code Playgroud)