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]);
}

猜你喜欢

转载自www.cnblogs.com/simao/p/11825417.html