📜  在javascript中生成随机数(1)

📅  最后修改于: 2023-12-03 15:23:23.756000             🧑  作者: Mango

在JavaScript中生成随机数

在JavaScript中生成随机数是常见的操作,可以用于模拟数据、游戏开发等场景。下面是一些介绍如何在JavaScript中生成随机数的方法。

生成范围内的整数

要生成范围内的整数,可以使用Math对象的floor()方法,配合Math.random()方法来完成。

/**
 * 生成指定范围内的整数
 * @param {Number} min 最小值
 * @param {Number} max 最大值
 * @returns {Number} 随机整数
 */
function randomInt(min, max) {
  return Math.floor(Math.random() * (max - min + 1) + min);
}

// 示例
const num = randomInt(1, 10); // 生成1~10范围内的随机整数
console.log(num);

代码解析:

  1. Math.random()方法返回一个[0, 1)之间的浮点数;
  2. 将该值乘以(max - min + 1),得到的结果是包含max和min的整数范围;
  3. 使用Math.floor()方法向下取整,得到最终的整数。
生成范围内的浮点数

类似生成整数的方法,要生成范围内的浮点数,可以改用Math.round()方法。

/**
 * 生成指定范围内的浮点数
 * @param {Number} min 最小值
 * @param {Number} max 最大值
 * @returns {Number} 随机浮点数
 */
function randomFloat(min, max) {
  return Math.round((Math.random() * (max - min) + min) * 100) / 100;
}

// 示例
const num = randomFloat(1, 10); // 生成1~10范围内的随机浮点数
console.log(num);

代码解析:

  1. Math.random()方法返回一个[0, 1)之间的浮点数;
  2. 将该值乘以(max - min),得到的结果是包含max但不包含min的浮点数范围;
  3. 加上min,得到最终的范围内的浮点数;
  4. 使用Math.round()方法四舍五入保留两位小数。
生成随机字符串

要生成随机字符串,可以使用Math.random()方法与String.fromCharCode()方法相结合实现。

/**
 * 生成指定长度的随机字符串
 * @param {Number} len 字符串长度
 * @returns {String} 随机字符串
 */
function randomString(len) {
  let str = "";
  for (let i = 0; i < len; i++) {
    const code = randomInt(97, 122); // 生成a~z范围内的ASCII码值
    str += String.fromCharCode(code);
  }
  return str;
}

// 示例
const str = randomString(10); // 生成长度为10的随机字符串
console.log(str);

代码解析:

  1. 通过randomInt()方法生成a~z范围内的ASCII码值;
  2. 使用String.fromCharCode()方法将该值转换为对应的字符;
  3. 将生成的字符拼接到字符串中。
参考链接