FizzBu​​zz返回空数组

时间:2017-07-07 06:29:43

标签: javascript fizzbuzz

我不太清楚为什么这会返回一个空数组,是否有人有任何线索或提示?任何帮助表示赞赏。



function fizzBuzz() {
  var array = [];
  for (var i = 1; i <= 100; i++) {
    if (i % 3 === 0) {
      array.push("Fizz");
    } else if (i % 5 === 0) {
      array.push("Buzz");
    } else if (i % 3 === 0 && i % 5 === 0) {
      array.push("FizzBuzz");
    }
    return array;
  }
}
fizzBuzz();
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:2)

在第一次迭代后从循环内部返回。

function fizzBuzz() {
  var array = [];
  for (var i = 1; i <= 100; i++) {
    if (i % 3 === 0) {
      array.push("Fizz");
    } else if (i % 5 === 0) {
      array.push("Buzz");
    } else if (i % 3 === 0 && i % 5 === 0) {
      array.push("FizzBuzz");
    }
  }
  return array; // <- !
}
fizzBuzz();

答案 1 :(得分:0)

第一个问题,return语句在循环内。它将在第一次迭代后返回一个空数组。将循环语句放在循环之后。

第二个问题,您需要在第一个if语句中检查FizzBu​​zz,否则它将无法点击

function fizzBuzz() {
  var array = [];
  for (var i = 1; i <= 100; i++) {
    if (i % 3 === 0 && i % 5 === 0) {
      array.push("FizzBuzz");
    } else if (i % 3 === 0) {
      array.push("Fizz");
    } else if (i % 5 === 0) {
      array.push("Buzz");
    }
  }
  return array;
}
fizzBuzz();