我已经创建了一个从 0 到 20 的数字序列,并且我想更改该序列,因此一旦它出现 3 和 5 的倍数,它就会将“FizzBuzz”记录到终端,然后继续处理其余部分数字最多为 20。我的问题是,一旦我将数字更改为字符串,序列中的其余项就会出现 NaN。我知道我的代码的问题是我正在将数字更改为字符串,并且您无法对字符串执行加法,这就是出现 NaN 的原因。我对此很陌生,因此任何有关如何完成此操作的想法将不胜感激。我尝试过使用 .append() 但我很确定我使用不正确。
到目前为止我的代码;
var increment = function(number)
{
for (var i = 1; i <= 20; i++)
{
console.log(number++)
if ((number % 3 === 0) && (number % 5 === 0))
{
number = "FizzBuzz"
console.log("FizzBuzz");
}
else if (number % 3 === 0)
{
console.log("Fizz");
}
else if (number % 5 === 0)
{
console.log("Buzz");
}
else
{}
}
}
increment(1)
最佳答案
当您找到 3 和 5 的倍数时,您将 number
设置为 "FizzBuzz"
,它没有 ++
运算符(operator)。在下一次迭代中,您对 number
调用 ++
,该数字现在是 "FizzBuzz"
,因此它会记录 NaN
>.
如果您没有将number
设置为“FizzBuzz”
,它应该可以正常工作。
关于javascript - JS - append 记录的数字序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44729738/