当前位置:首页 > JavaScript

fizzbuzz js实现

2026-02-01 09:12:39JavaScript

FizzBuzz 问题描述

FizzBuzz 是一个经典的编程问题,要求编写一个程序,输出从 1 到 n 的数字。对于 3 的倍数输出 "Fizz",5 的倍数输出 "Buzz",既是 3 又是 5 的倍数输出 "FizzBuzz",否则输出数字本身。

fizzbuzz js实现

JavaScript 实现方法

方法 1:基本循环与条件判断

function fizzBuzz(n) {
  for (let i = 1; i <= n; 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);
    }
  }
}
fizzBuzz(100);

方法 2:字符串拼接优化

通过先检查 3 和 5 的倍数情况,减少模运算次数。

fizzbuzz js实现

function fizzBuzz(n) {
  for (let i = 1; i <= n; i++) {
    let output = "";
    if (i % 3 === 0) output += "Fizz";
    if (i % 5 === 0) output += "Buzz";
    console.log(output || i);
  }
}
fizzBuzz(100);

方法 3:使用三元运算符

简化条件判断,适合短代码实现。

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

方法 4:ES6 箭头函数与数组映射

利用数组的 map 方法生成结果,适合函数式编程风格。

const fizzBuzz = n => 
  Array.from({ length: n }, (_, i) => i + 1)
    .map(num => 
      (num % 15 === 0 ? "FizzBuzz" : 
       num % 3 === 0 ? "Fizz" : 
       num % 5 === 0 ? "Buzz" : num))
    .forEach(result => console.log(result));

fizzBuzz(100);

注意事项

  • 模运算的顺序很重要,优先检查 15(即 3 和 5 的最小公倍数)的情况。
  • 方法 2 和方法 3 减少了重复的模运算,性能更优。
  • 方法 4 适合对函数式编程有偏好的开发者,但可能牺牲部分可读性。

以上方法均能正确实现 FizzBuzz 问题,开发者可根据实际需求选择适合的风格。

标签: fizzbuzzjs
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现复选框

js实现复选框

实现复选框的基本方法 使用HTML的<input type="checkbox">元素创建复选框,并通过JavaScript监听其状态变化。 <input type="checkb…

js 实现mvc

js 实现mvc

MVC 模式简介 MVC(Model-View-Controller)是一种软件设计模式,将应用程序分为三个核心组件:模型(Model)处理数据和业务逻辑,视图(View)负责展示数据,控制器(Con…