本文教程操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。
我们在使用一些函数生成随机数时,虽然我们理论上说概率都是随机的,但由于函数之间的差异,在某些数字的取值上概率有所不同。这里我们以round和ceil为例,为大家进行js中随机数生成的概率分析。鉴于大家对round函数暂时没接触过,在开始前会进行简单介绍。
1.round概念
Math.round()的含义是将一个数字四舍五入为最接近的整数,四舍五入大家不会陌生,一个数字如果是4那就舍弃掉,如果是5,那就进一。
2.ceil和round对比
Math.ceil(Math.random()*10); // 获取从 1 到 10 的随机整数,取 0 的概率极小 Math.round(Math.random()*10); // 基本均衡获取 0 到 10 的随机整数,其中获取最小值 0 和最大值 10 的几率少一半
3.round随机实例
这段代码,是取[0,5]范围的随机整数,我们将floor改为round,简单修改逻辑(因为四舍五入,这里改为乘以5),查看每五次取得数字的概率:
function randomArr() {
let arr = [],
length = 5;
while (length--) {
arr.push(Math.round(Math.random() * 5));
};
console.log(arr);
};
setInterval(function () {
randomArr();
}, 1000);以上就是js随机数随机概率中,关于round和ceil函数使用的分析,相信大家已经看出在取0的概率上各有不同,这点需要大家牢记。



