说到随机数,肯定会想到使用Math.random 但是有几点需要注意
- Math.random 没有参数
- 生成一个 0-1 之间的伪随机数浮点数【注意这个返回值小于1】,包含0 ,不包含1
常用的是两个数之间 的整数随机数,要求包含两个边界值
function getRandomIntInclusive(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled + 1) + minCeiled); // 包含最小值和最大值
}
包含最小,但是不包含最大值
function getRandomInt(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled) + minCeiled); // 不包含最大值,包含最小值
}
重点都是 Math.random() 乘 最大值-最小值,再加 最小值
具体请参考官方文档,关于 Math.random