随机数,顾名思义随机的数
在JS中可由Math.random()来完成,但是有个默认区间[0,1)。
当然,这个区间也是可以对应去调整的,不然,假设在n~m取一个随机数就成了大问题。
基于默认区间,得到[n,m),n即是min,m即是max
如果想要的是[n,m],那就是:
l
e
n
g
t
h
=
∫
n
m
1
d
x
length = \int_n^m1{\rm d}x
length=∫nm1dx
也相当于
l
e
n
g
t
h
=
m
−
n
也相当于length = m - n
也相当于length=m−n
范围有了,就来取下随机数了
Math.floor(Math.random() * (max - min + 1) + min) // 其中+1,就是包含m,即右闭区间
证明:最大与最小随机数之差等于length?
那么,在[n,m]取一个随机数,完整代码:
getRandom(min, max){
if(min>max){
return false
}
return Math.floor(Math.random() * (max - min + 1) + min) //[n,m]
}
从一开始会不会误以为是什么hash加密取随机数,别难过Math.random()也可以。对了,Math.floor()是什么?