我不太清楚为什么这会返回一个空数组,是否有人有任何线索或提示?任何帮助表示赞赏。
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;
答案 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语句中检查FizzBuzz,否则它将无法点击
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();