如何将'fizz'推入数组并替换对应数字?FizzBuzz代码调试
问题解决:修正FizzBuzz数组输出逻辑
你的代码问题在于每次先把当前count加入数组,再判断下一个count是否要加'fizz',导致当count是3的倍数时,数字本身还是会被push进去。要实现[1, 2, 'fizz', 4, 5, 'fizz', ...]的效果,需要先判断当前count是否符合条件,再决定添加数字还是'fizz',然后再递增count。
修正后的代码如下:
var output = []; var count = 1; function fizzBuzz() { // 先判断当前count是否是3的倍数 if (count % 3 === 0) { output.push('fizz'); } else { output.push(count); } count++; console.log(output); }
逻辑说明:
- 每次调用函数时,先检查当前
count是否能被3整除 - 如果是,就往数组里添加
'fizz';否则添加数字count - 最后再把
count递增,保证下次调用处理下一个数
这样多次调用fizzBuzz()后,数组就会按照你期望的格式生成,不会出现数字和'fizz'同时存在的情况。
内容的提问来源于stack exchange,提问作者Dave7892000
相关产品推荐
相关产品推荐

