这里的随机函数有个小小的问题,主要是因为取整函数和js的Math函数的随机原理造成的,因为js得随机原理是在0-1之间生成一个随机数,不知道会不会生成等于极值得数字,但是无论会不会其概率都是最低得(因为生成得随机数小数点后有16位)。按照老师得函数如果是要生成5-10之间的能等于极值得随机数,要得到等于5得随机数只有当随机数是0是才会等于5,这是由于取整函数决定得,只要小数点后有数据就自动在整数位进一位,所以几乎不可能生成最小值。所以在取值范围是整数时要记住传值时如果要可以等于最小极值要将最小值减一(因不知道js得随机会不会获得极值,也就是0。所以为了完全消除这个概率极低问题,加个判断即可)。
Math.floor(Math.random()*(max-min)+min);//向下取整
rsort([0,data.length]);
可以取得min值,取不到max值;
Math.ceil(Math.random()*(max-min)+min);//向上取整
rsort([0,data.length]);
可以取得max值,取不到min值;
// 从min开始(包含), max结束(不包含max)
function randomNum (min, max) {
return Math.floor(Math.random()*(max-min)+min);
}