fizzbuzz js实现
FizzBuzz 的 JavaScript 实现
FizzBuzz 是一个经典的编程面试题,要求根据特定规则输出数字或字符串。以下是几种常见的实现方法:
基础实现
使用简单的条件判断和循环实现 FizzBuzz:
for (let i = 1; i <= 100; i++) {
if (i % 15 === 0) {
console.log("FizzBuzz");
} else if (i % 3 === 0) {
console.log("Fizz");
} else if (i % 5 === 0) {
console.log("Buzz");
} else {
console.log(i);
}
}
字符串拼接优化
通过字符串拼接减少重复条件判断:
for (let i = 1; i <= 100; i++) {
let output = "";
if (i % 3 === 0) output += "Fizz";
if (i % 5 === 0) output += "Buzz";
console.log(output || i);
}
函数式实现
使用数组的 map 和 forEach 方法实现 FizzBuzz:
Array.from({ length: 100 }, (_, i) => i + 1).forEach(num => {
const output = (num % 3 ? "" : "Fizz") + (num % 5 ? "" : "Buzz");
console.log(output || num);
});
扩展性实现
支持自定义规则和范围,提高代码复用性:

function fizzBuzz(start, end, rules) {
for (let i = start; i <= end; i++) {
let output = "";
for (const [divisor, word] of rules) {
if (i % divisor === 0) output += word;
}
console.log(output || i);
}
}
// 使用示例
fizzBuzz(1, 100, [[3, "Fizz"], [5, "Buzz"], [7, "Bazz"]]);
这些实现方法各有特点,基础实现适合简单场景,函数式和扩展性实现更适合复杂需求。根据实际需求选择合适的实现方式即可。






