本文紧张介绍:使用 JS 根据奖品权重盘算中奖概率实现抽奖的方法。
一、示例场景
1.1、设置抽奖活动的奖项名称
奖项名称:["一等奖", "二等奖", "三等奖", "未中奖"]。假设抽奖活动设置了这四个奖项,固然开发者可以扩展更多。- var prizes = ["一等奖","二等奖","三等奖","未中奖"]; //奖项名称数组
复制代码 1.2、设置各奖项权重
奖项权重:[1, 5, 20, 74]。奖项权重紧张用来表征各奖项的中奖几率,这里奖项权重数组的和值为100(=1+5+20+74),此中1体现一等奖的中奖概率为1%;5体现一等奖的中奖概率为5%;20体现三等奖的中奖概率为20%;末了剩下的74体现未中奖的概率为74%。- var prizeWeight = [1, 5, 20, 74]; //奖项权重数组,表征各奖项的中奖时机占总数的百分比。好比一等奖的中奖率是1%,二等奖的中奖率是5%
复制代码 如果抽奖活动设置的奖项更多,开发者也可以相应扩展权重数组的和值,好比权重和值为500,1000等,并相应设置数组元向来表征每抽500次,可中多少次、什么品级的奖项。
别的,开发者也可以将奖项名称与奖项权重数组归并声明在一个对象中:- //设置奖项名称、权重等数组var prizes = [ {"name": "一等奖", "weight": 1}, {"name": "二等奖", "weight": 5}, {"name": "三等奖", "weight": 20}, {"name": "未中奖", "weight": 74}];
复制代码 1.3、抽奖活动规则
<ul><li data-sort="0">0 < 本次抽奖随机数 |