我在这里的新手不止一个,所以请放轻松:)
这是我的任务是使用 javascript 解决的一个问题:
打印出 1 - 20 的数字。规则:对于能被 3 整除的数字,打印出“Fizz”。对于能被 5 整除的数字,打印出“Buzz”。对于能被 3 和 5 整除的数字,在控制台中打印出“FizzBuzz”。否则,只需打印出数字即可。
这是我第一次尝试接近它:
var numberArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
for(var i = 0; i < numberArray.length; i++){
if(i % 3 === 0 && i % 5 === 0){
console.log("FizzBuzz");
}
else if(i % 3 === 0 && i % 5 !== 0){
console.log("Fizz");
}
else if(i % 3 !== 0 && i % 5 === 0){
console.log("Buzz");
}
else {
console.log(numberArray[i]);
}
}
这返回了以下不正确的值:
FizzBuzz 2 3 Fizz 5 Buzz Fizz 8 9 Fizz Buzz 12 Fizz 14 15 FizzBuzz 17 18 Fizz 20
然后我采取了一种不同的方法,它确实得到了正确的答案:
var fizBuzz = function() {
for (i = 1; i < 21; i++) {
if (i % 3 === 0 && i%5 === 0) {
console.log ("FizzBuzz");
} else if (i % 3 === 0) {
console.log ("Fizz");
} else if (i % 5 === 0) {
console.log ("Buzz");
} else {
console.log (i);
}
}
};
fizBuzz();
有人愿意帮助我了解第一种方法有什么问题吗?这真的让我很困扰:)