📜  范围内的 javascript 随机数 - Javascript (1)

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

范围内的 javascript 随机数 - Javascript

在Javascript中获取一个指定范围内的随机数是一个常见的需求,在开发中有很多场景需要获取随机数,比如抽奖、生成密码等。

以下是几种获取指定范围内的随机数的方法:

方法一:Math.random()

使用Math.random()可以获取一个在0~1之间的随机数。如果想要获取一个指定范围内的随机数,可以使用以下代码:

function getRandomNum(min, max) {
  // Math.random() 生成一个 0~1 的随机数
  // (max - min + 1) 生成要获取随机数的整数范围
  // Math.floor() 向下取整,保证获取整数随机数
  return Math.floor(Math.random() * (max - min + 1) + min);
}

// 生成 1~10 的随机数
console.log(getRandomNum(1, 10));

该方法通过Math.random()生成一个0~1之间的随机数,并乘上范围区间后通过Math.floor()向下取整得到最终的整数随机数。

方法二:window.crypto.getRandomValues()

window.crypto.getRandomValues()是一种新的获取随机数的方法,其使用的是硬件熵(hardware entropy)生成真正的随机数,更加安全和可靠。使用方式如下:

function getRandomNum(min, max) {
  let array = new Uint32Array(1);
  window.crypto.getRandomValues(array);
  return array[0] % (max - min + 1) + min;
}

// 生成 1~10 的随机数
console.log(getRandomNum(1, 10));

该方法使用了window.crypto.getRandomValues()生成一个Uint32Array类型的随机数数组,再通过对数组取模得到指定范围内的整数随机数。

方法三:lodash.js

lodash.js是一个流行的JavaScript工具库,提供了许多常用的工具函数,包括生成随机数的函数。

可以通过npm安装lodash.js,使用lodash.random()函数生成指定范围的随机数,使用方式如下:

const _ = require("lodash");

// 生成 1~10 的随机数
console.log(_.random(1, 10));

以上是几种常见的获取指定范围内的随机数的方法,使用时请根据场景需求选择合适的方式。

参考资料: