gpt4 book ai didi

javascript fizzbuzz 开关语句

转载 作者:数据小太阳 更新时间:2023-10-29 05:57:49 24 4
gpt4 key购买 nike

我目前正在学习关于 Javascript 的代码学院类(class),并且我被困在 FizzBu​​zz 任务上。我需要从 1 到 20 数,如果这个数字可以被 3 print fizz 整除,被 5 print buzz 整除,被两个 print fizzbuzz 整除,否则只打印数字。我能够用 if/else if 语句来完成它,但我想用 switch 语句来尝试它,但无法得到它。我的控制台只记录默认值并打印 1-20。有什么建议么?

for (var x = 0; x<=20; x++){
switch(x){
case x%3==0:
console.log("Fizz");
break;
case x%5===0:
console.log("Buzz");
break;
case x%5===0 && x%3==0:
console.log("FizzBuzz");
break;
default:
console.log(x);
break;
};


};

最佳答案

Switch 将 switch(x){ 中的 x 与 case 表达式的求值结果相匹配。由于您所有的情况都会导致 true/false 没有匹配项,因此始终执行默认值。

现在不推荐使用 switch 来解决你的问题,因为如果表达式太多,可能会有多个 true 输出,从而给我们带来意想不到的结果。但是,如果您执意要这样做:

for (var x = 0; x <= 20; x++) {
switch (true) {
case (x % 5 === 0 && x % 3 === 0):
console.log("FizzBuzz");
break;
case x % 3 === 0:
console.log("Fizz");
break;
case x % 5 === 0:
console.log("Buzz");
break;
default:
console.log(x);
break;
}

关于javascript fizzbuzz 开关语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26019823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com