JavaScript中Modulo的问题

时间:2015-05-20 06:29:47

标签: javascript

在codecademy上进行一些练习并遇到以下问题:所以目标是打印“Fizz”如果数字可被3整除则“Buzz”如果数字可以被5整除。如果是“FizzBu​​zz”数字可以被3和5整除。

这是我的代码,我认为我没错,但是当我运行它们时,它们告诉我我的代码不是100%准确。希望看到此代码的任何替代方案,或者可能是什么问题...... 代码:

for ( i = 0; i < 21; i++)
{
  if (i % 3 == 0 )
  {
    console.log("Fizz");
  }

  if (i % 5 == 0)
  {
    console.log ("Buzz");
  }

  if ( i % 5 == 0 && i % 3 === 0)
  {
    console.log("FizzBuzz");
  }   
  else 
  {
    console.log(i);
  }    
}    

2 个答案:

答案 0 :(得分:1)

您需要使用else if来阻止执行其他条件:

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);
    }
}

答案 1 :(得分:1)

它可以很容易地在一个衬里中完成。

git credential

对于一个不错的格式化,每次迭代也会输出for (i = 1; i <= 20; i++) { console.log(i%3?(i%5?i:'buzz'):(i%5?'fizz':'fizzbuzz')); };

i