JavaScript 双色球随机号码生成器 (红球不重复)

本文将使用 JavaScript 代码实现一个双色球随机号码生成器,满足红球范围 1-33 不重复,蓝球范围 1-16 的规则。

思路:

  1. 每次产生一个随机球,存入数组中。
  2. 下一次产生的随机球,要和数组中的进行比较,如果有相等的,则重新产生一个号 (循环变量要减 1),反之继续存入数组。
  3. 直到产生 6 个球。
  4. 蓝球单独产生。
  5. 最后输出所有球。

代码:

// 生成红球
let redBalls = [];
while (redBalls.length < 6) {
  let ball = Math.floor(Math.random() * 33) + 1;
  if (!redBalls.includes(ball)) {
    redBalls.push(ball);
  }
}

// 生成蓝球
let blueBall = Math.floor(Math.random() * 16) + 1;

// 输出结果
console.log('红球:' + redBalls.join(' '));
console.log('蓝球:' + blueBall);

代码解释:

  • 使用 while 循环来生成 6 个红球。
  • 每次生成一个随机球后,通过 includes() 方法判断是否已经存在于数组中。
  • 如果不存在,则将其加入数组中。
  • 如果存在,则继续生成下一个随机球,同时循环变量 redBalls.length 不增加,保证继续生成直到满足 6 个红球的条件。
  • 蓝球则直接使用 Math.random() 生成一个 1 到 16 之间的随机数。
  • 最后使用 console.log() 输出结果。

示例:

运行这段代码,你将得到类似以下的输出结果:

红球:12 25 1 18 32 8
蓝球:11

希望这篇文章对您有所帮助!


原文地址: https://www.cveoy.top/t/topic/mcUp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录