【问题标题】:How can I improve this JavaScript code? [closed]如何改进此 JavaScript 代码? [关闭]
【发布时间】:2017-01-25 07:09:39
【问题描述】:
for(var i = 1; i <= 20; i++){
    switch (i) {
        case 3:
        case 6:
        case 9:
        case 12:
        case 18:
            console.log("Fizz");
            break;

        case 5:
        case 10:
        case 20:
            console.log("Buzz");
            break;

        case 15:
            console.log("FizzBuzz");
            break;

        default:
        console.log(i);
    }
}

我应该打印 1-20 的数字。

这些是条件。

如果一个数字可以被 3 整除,那么我需要打印“Fizz”

如果一个数字可以被 5 整除,那么我需要打印“Buzz”

如果一个数字可以被 3 和 5 整除,那么我需要打印“FizzBu​​zz”。

我想出了上述代码,但我认为它可以改进。

【问题讨论】:

  • 您可以使用模运算符 (%) 和 if 语句更清晰地执行此操作(无限可扩展,即如果您将 20 更改为 100,您的代码将无法工作)。
  • 您只需要 2 个 if() 语句来满足这些条件并连接一个字符串

标签: javascript loops


【解决方案1】:

您可以使用模数运算符 (%),如果 20 需要更改为 200 等,这将有助于您的代码面向未来

for(var i = 1; i <= 20; i++){
    if(i % 5  == 0 && i % 3  == 0) {
        console.log("FizzBuzz");
    } else if (i % 3 == 0) {
        console.log("Fizz");
    } else if (i % 5  == 0) {
        console.log("Buzz");
    } else {
        console.log(i);
    }
}

【讨论】:

    猜你喜欢
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    相关资源
    最近更新 更多