在我们学习过程中可能有一些情况下需要用的随机数,这里给出一种简单的方法:
利用:
Math.floor() :向下取整
Math.random() :生成[0,1)的小数
简单结合:
Math.floor(Math.random*((max-min)+1)+min)
详细解释放在代码里了
/* js中一种简单的生成随机整数的方法:
利用:
Math.floor() :向下取整
Math.random() :生成[0,1)的小数
简单结合:
Math.floor(Math.random*((max-min)+1)+min)
*/
let a1 = Math.random();
console.log(a1); //向控制台输出一个[0,1)的随机小数
// 我们可以把范围扩大
let a2 = Math.random() * 10;
console.log(a2); //向控制台输出一个[0,10)的随机小数
//我们想改变最小值
const memin = 3;
let a3 = Math.random() * (10 - memin) + memin;
/*
这里先是生成了一个[0,10-3)的随机小数,然后生成的小数在加3
于是我们得到了一个[3,10)的随机小数
*/
// 我们想可以取到最大值
/* 这时就要用到Math.floor()
比如:
先生成一个[0,11)的小数 a4
这个小数的最大值会无限接近11但永远不能等于11
这时我们使用Math.floor(a4)
那么a4最大就只能等于10
*/
let a4 = Math.random() * 11;
let b1 = Math.floor(a4);
console.log(b1);//向控制台输出一个[0,10]的随机整数
// 那么整理简化一下,得到了如下
const min=1;
const max=100;
let a5 = Math.floor(Math.random*((max-min)+1)+min)
console.log(a5);//向控制台输出一个[1,100]的随机小数
/*
简单分析一下,先生成了一个[min,max+1)的小数
然后用Math.floor()使得到的小数向下取整
于是得到了[min,max]的整数
*/
当然,也可以用:
Math.round() 四舍五入(小于5的丢掉,大于等于5的向绝对值大的方向进一)
那么可得:
Math.round(Math.random() * (max-min) + min)
结语:
这只是一种简单的实现方法.