【发布时间】:2020-05-24 23:41:41
【问题描述】:
function counter(numOne, numTwo) {
for (let i = 0; i <= 100; i++) {
if (i % numOne === 0) {
console.log("Fizz");
}
if (i % numTwo === 0) {
console.log("Buzz");
}
if (i % numOne === 0 && i % numTwo === 0) {
console.log("FizzBuzz");
}
else if (i <= 100 && i !== i % numOne === 0 || i !== i % numTwo === 0) {
console.log(i);
}
}
}
counter(3, 5);
对于 else if 循环,它应该 console.log 所有 但不是 i % numOne === 0 和 的数字i % numTwo === 0。那么为什么只有 Fizz、Buzz 和 FizzBuzz 出现在输出中?
【问题讨论】:
-
你能解释一下吗:(i
-
i !== i % numOne === 0 结果:false % numOne === 0,即 NaN === 0,这绝不是真的 :)
-
尝试将 else if 条件更改为
(i <= 100 && i % numOne !== 0 && i % numTwo !== 0),因为您编写的条件不会达到目的。正如@ArberSylejmani 的评论所述 -
欢迎来到 Stack Overflow。请注意,Stack Overflow 上已经有(很多)FizzBuzz 问题/答案。与其发布另一个 FizzBuzz 问题,不如先在这里搜索现有问题,如果所有现有问题都无法帮助您(您自己)找到答案,则仅添加一个新(您的)问题。 (在这种情况下,您将链接到现有问题并解释有什么区别)。看看How do I ask a good question?。
标签: javascript fizzbuzz