使用函数实现数组推入与值递增的FizzBuzz程序无输出求助
问题分析与解决
你的代码存在两个核心问题:
- 定义了函数但未调用:你写了
fizzBuzz函数,但没有执行这个函数,所以里面的代码根本不会运行,自然没有任何输出。 - 未实现FizzBuzz的核心逻辑:当前代码只是把
count数值推入数组,没有处理“3的倍数输出Fizz、5的倍数输出Buzz、同时是3和5的倍数输出FizzBuzz”的规则。
修复后的完整代码
var output = []; var count = 1; function fizzBuzz() { // 处理FizzBuzz逻辑 if (count % 15 === 0) { output.push("FizzBuzz"); } else if (count % 3 === 0) { output.push("Fizz"); } else if (count % 5 === 0) { output.push("Buzz"); } else { output.push(count); } count++; console.log(output); } // 调用函数才能执行逻辑,这里示例调用15次演示完整效果 for (var i = 0; i < 15; i++) { fizzBuzz(); }
关键说明
- 必须调用
fizzBuzz()函数(这里用循环调用15次来覆盖所有情况),函数内的代码才会执行。 - 通过取余运算
%判断数值是否为3、5的倍数,实现FizzBuzz的规则。
内容的提问来源于stack exchange,提问作者Ammad Ali
相关产品推荐
相关产品推荐

