js实现1,2,3,5数字按照概率生成

时间:2021-05-26

js按照配置的概率生成,概率规则如下:
1------------50%

2------------30%

3------------15%

5------------5%

简单的代码

function myRandom() { var rand = Math.random(); if (rand < .5) return 1; if (rand < .8) return 2; if (rand < .95) return 3; return 5;}

复杂点的

function prizeRand(oArr) { var sum = 0; // 总和 var rand = 0; // 每次循环产生的随机数 var result = 0; // 返回的对象的key console.log(oArr); // 计算总和 for (var i in oArr) { sum += oArr[i][0]; } // 思路就是如果设置的数落在随机数内,则返回,否则减去本次的数 for (var i in oArr) { rand = Math.floor(Math.random()*sum + 1); if (oArr[i][0] >= rand) { result = oArr[i][0]; break; } else { sum -= oArr[i][0]; } } return result;}var oArr = {'5':[5, 'Mac'], '3':[15, 'iPhone'], '2':[30, 'iPad'], '1':[50, 'iWatch']};console.log(prizeRand(oArr));

大家可以根据需要选择,建议查看的上一篇文章。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章