JS获取指定范围随机数

本小妞迷上赌 提交于 2019-12-04 00:31:59

常用取整数的方法 : 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]);
}

 

地址:https://developer.mozilla.org/zh-CN/docs/Web/API/RandomSource/getRandomValues

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!