当前位置:首页 > JavaScript

fizzbuzz js实现

2026-04-06 01:53:10JavaScript

fizzbuzz js实现

fizzbuzz js实现

FizzBuzz 的 JavaScript 实现

FizzBuzz 是一个经典的编程练习,要求从 1 到 100 输出数字,但如果是 3 的倍数输出 "Fizz",5 的倍数输出 "Buzz",同时是 3 和 5 的倍数输出 "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);
}

使用三元运算符

for (let i = 1; i <= 100; i++) {
  console.log(
    i % 15 === 0 ? "FizzBuzz" :
    i % 3 === 0 ? "Fizz" :
    i % 5 === 0 ? "Buzz" :
    i
  );
}

函数式实现

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

可配置版本

function fizzBuzz(n, rules) {
  for (let i = 1; i <= n; i++) {
    let output = "";
    for (const [divisor, word] of rules) {
      if (i % divisor === 0) output += word;
    }
    console.log(output || i);
  }
}

// 使用示例
fizzBuzz(100, [[3, "Fizz"], [5, "Buzz"]]);

每种实现方式各有特点,基础实现最直观,简洁实现减少了条件判断次数,函数式实现更现代,可配置版本则具有更好的扩展性。

标签: fizzbuzzjs
分享给朋友:

相关文章

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js分页实现

js分页实现

分页的基本原理 分页的核心是通过计算当前页码和数据偏移量,从服务器或本地数据中截取对应范围的数据进行展示。通常需要以下参数:当前页码(currentPage)、每页条数(pageSize)、总数据量(…