这是我的代码
for(var i = 1; i <= 20; i = i + 1)
if(i%3==0) {
console.log("Fizz");
}else if (i%5==0){
console.log("Buzz");
}
else {
console.log(i);
}
答案是
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
Fizz
16
17
Fizz
19
Buzz
但是看看那个“15”...它写着“Fizz”,但它应该是“FizzBuzz”,因为它可以被 3 和 5 整除。哎呀! 如何为这种情况添加特殊条件
最佳答案
当您执行 if else if
时,您不会传入 else if
第一个条件得到验证。
这是解决您问题的可能解决方案(有很多,但没有一个非常优雅):
var special = false;
if (i%3==0) {
console.log("Fizz");
special = true
}
if (i%5==0){
console.log("Buzz");
special = true;
}
if (!special) {
console.log(i);
}
这是另一个:
var tolog = '';
if (i%3==0) {
tolog += "Fizz";
}
if (i%5==0){
tolog += "Buzz";
}
console.log(tolog || i);
关于javascript - 特殊情况添加if条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13099870/