js控制随机数生成概率代码实例
基本思路:把Math.random()生成的数看着百分比,然后定义每个整数值取值范围。
具体内容如下,供大家参考
'usestrict';
exportdefaultclassGL{
/**
*构造函数
*@param{object}opt
*@param{number}opt.min最小整数值
*@param{number}opt.max最大整数值
*@param{Map}opt.fenpei自定义概率
*/
constructor({min,max,fenpei=newMap()}){
this.min=min;
this.max=max;
this.fenpei=fenpei;
}
/**
*可分配百分比
*/
getbaifenbi(){
return(1-this.peizhi)/(this.max-this.min-this.fenpei.size);
}
/**
*配置
*/
getpeizhi(){
letresult=0;
for(letiofthis.fenpei.values()){
if(this.min<=i&&ir)returni;
}
returnnull;
}
}
letd=newGL({
min:0,
max:8,
fenpei:newMap([
[0,0.5],//数值,百分比
[22,0.4]
])
});
//测试
letcount=Array(10).fill(0);
for(leti=0;i<10000;i++){
count[d.random()]+=1;
}
for(leti=0;i
以上所述是小编给大家介绍的js控制随机数生成概率代码实例详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!