正文
JS获取指定范围随机数
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
常用取整数的方法 : Math.floor(Math.random() * (max - min + 1)) + min
一步步来解析:
Math.random()
函数返回一个浮点, 伪随机数在范围
[0,1)
,也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。
返回值 :一个浮点型伪随机数字,在
0
(包括0)和
1
(不包括)之间。
-MDN
1. (max - min + 1)
大数减小数+ 1 得到差值 比如8-4+1 = 5; 也就是在5个数中间取值。
2.Math.random() * (max - min + 1) 返回 0-5之间的值,浮点数。
3. Math.floor(Math.random() * (max - min + 1)) 向下取整 +最小值 得到
但是这个数很假 最大和最小几乎取不到
那么如果要取浮点数呢?
Math.random() * (max - min )+ min;
============================================
如果要取随机值 可以用 Crypto.getRandomValues()
用法:
var array = new Uint32Array(10);
window.crypto.getRandomValues(array); console.log("Your lucky numbers:");
for (var i = 0; i < array.length; i++) {
console.log(array[i]);
}