2016-09-17 85 views
-7
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的數字。我該如何改進此JavaScript代碼?

這些是條件。

一個數是否爲被3整除,然後我需要打印「嘶嘶聲」

如果一個數字是由5整除,然後我需要打印「嗡嗡」

一個數是否爲整除3和5,然後我需要打印「FizzBu​​zz」。

我想出了上述代碼,但我認爲它可以改進。

+1

可以使用模運算符('%')和如果語句更乾淨地做到這一點(一個無限可擴展的,即你的代碼不會工作,如果你改變20,比如說100)。 – Frxstrem

+0

您只需要2條if()'語句來處理這些條件並連接一個字符串 – charlietfl

回答

0

可以使用模運算符(%),這將有助於使你的代碼面向未來,應該在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); 
    } 
}