最近在做一个小项目,其中需要一个指定随机概率的功能,自己想到了一个自认为比较简单的方法
function randomProbability(probability: number){
if(probability < 0 || probability > 1){
console.warn('不在概率范围');
return;
}
let randomNumber = Math.random();
if(randomNumber >= 0 && randomNumber <= probability){
return true;
} else {
return false;
}
虽然都是伪随机数,但是经过我的测试,分别取1000次,10000次之后基本能够达到指定事件发生的概率的效果,满足一般性的需求,如果需求更加苛刻,建议更换其中的随机数算法即可,保证随机数更加“随机”即可