Js 生成随机数的方法

在前端开发中,经常会遇到需要生成随机数的需求,比如验证码、抽奖、随机排序等场景。本文将介绍几种在JavaScript中生成随机数的方法。
方法一:Math.random()
Math.random() 方法返回一个0到1之间(包括0但不包括1)的随机数。
示例代码如下:
// 生成一个0到1之间的随机数
let randomNum = Math.random();
console.log(randomNum);
运行结果可能为:0.5487326189548732
如果我们想要生成一个指定范围内的随机数,可以结合 Math.random() 和取整函数 Math.floor() 来实现。例如,生成一个1到100之间的随机整数:
let randomInt = Math.floor(Math.random() * 100) + 1;
console.log(randomInt);
运行结果可能为:42
方法二:crypto.getRandomValues()
crypto.getRandomValues() 方法可以生成强随机数,它返回一个包含随机数的 Uint32Array 或 Uint8Array。
示例代码如下:
// 生成一个Uint32Array类型的随机数数组
let randomArray = new Uint32Array(1);
window.crypto.getRandomValues(randomArray);
console.log(randomArray[0]);
运行结果可能为一个32位无符号整数。
方法三:自定义范围的随机数
如果我们想要生成指定范围内的随机数,可以使用一些简单的数学计算来实现。例如,生成一个100到200之间的随机整数:
let min = 100;
let max = 200;
let randomNumInRange = Math.floor(Math.random() * (max - min + 1)) + min;
console.log(randomNumInRange);
运行结果可能为:156
方法四:lodash 库
如果项目中已经引入了 lodash 库,可以使用它提供的 _.random() 方法来生成随机数。该方法可以生成一个指定范围内的随机整数,包括最小值但不包括最大值。
示例代码如下:
// 生成一个1到10之间的随机整数
let lodashRandom = _.random(1, 10);
console.log(lodashRandom);
运行结果可能为:5
总结
本文介绍了几种在JavaScript中生成随机数的方法,包括使用 Math.random()、crypto.getRandomValues()、自定义范围的随机数和 lodash 库。根据实际需求选择合适的方法来生成随机数,以满足各种场景的需求。
极客笔记