当前位置:首页 > JavaScript

fizzbuzz js实现

2026-03-14 07:48:19JavaScript

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);
}

函数式实现

使用数组的 mapforEach 方法实现 FizzBuzz:

Array.from({ length: 100 }, (_, i) => i + 1).forEach(num => {
  const output = (num % 3 ? "" : "Fizz") + (num % 5 ? "" : "Buzz");
  console.log(output || num);
});

扩展性实现

支持自定义规则和范围,提高代码复用性:

fizzbuzz js实现

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"]]);

这些实现方法各有特点,基础实现适合简单场景,函数式和扩展性实现更适合复杂需求。根据实际需求选择合适的实现方式即可。

标签: fizzbuzzjs
分享给朋友:

相关文章

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url, f…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。 &…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…