JS - 附加记录的数字序列
JS - Appending a logged sequence of numbers
我已经制作了一个从 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"
,它没有 ++
运算符。在下一次迭代中,您在 number
上调用 ++
,现在是 "FizzBuzz"
,因此它会记录 NaN
.
如果您不将 number
设置为 "FizzBuzz"
,它应该可以正常工作。
这样就可以了
var increment = function()
{
for (var i = 1; i <= 20; 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)
}
}
}
increment()
无需传递 number
参数,因为您的 for
循环已设置为递增 1 (i++
)。
我已经制作了一个从 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"
,它没有 ++
运算符。在下一次迭代中,您在 number
上调用 ++
,现在是 "FizzBuzz"
,因此它会记录 NaN
.
如果您不将 number
设置为 "FizzBuzz"
,它应该可以正常工作。
这样就可以了
var increment = function()
{
for (var i = 1; i <= 20; 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)
}
}
}
increment()
无需传递 number
参数,因为您的 for
循环已设置为递增 1 (i++
)。