gpt4 book ai didi

javascript - 了解两种代码解决方案之间的结果差异

转载 作者:行者123 更新时间:2023-11-29 10:17:08 25 4
gpt4 key购买 nike

我在很多方面都是新手,所以请对我放轻松 :)

这是我使用 javascript 解决的一个问题:

打印出 1 - 20 的数字。规则:对于可被 3 整除的数字,打印出“Fizz”。对于能被 5 整除的数字,打印出“Buzz”。对于可同时被 3 和 5 整除的数字,在控制台中打印出“FizzBu​​zz”。否则,只需打印出数字即可。

这是我第一次尝试接近它:

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

这返回了以下不正确的值:

嘶嘶声2个3个嘶嘶声5个嗡嗡声嘶嘶声8个9嘶嘶声嗡嗡声12嘶嘶声1415嘶嘶声1718嘶嘶声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();

有人愿意帮助我理解第一种方法有什么问题吗?这真的让我很困扰:)

最佳答案

问题是您检查的是 i(从 0 开始)而不是 numberArray[i](从 1 开始)的整除性。

关于javascript - 了解两种代码解决方案之间的结果差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19337013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com