马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

JS根据奖品权重计算中奖概率实现抽奖的方法

  [复制链接]
查看4283 | 回复17 | 2019-12-26 09:07:50 | 显示全部楼层 |阅读模式
本文紧张介绍:使用 JS 根据奖品权重盘算中奖概率实现抽奖的方法。
一、示例场景

1.1、设置抽奖活动的奖项名称

奖项名称:["一等奖", "二等奖", "三等奖", "未中奖"]。假设抽奖活动设置了这四个奖项,固然开发者可以扩展更多。
  1. var prizes = ["一等奖","二等奖","三等奖","未中奖"];    //奖项名称数组
复制代码
1.2、设置各奖项权重

奖项权重:[1, 5, 20, 74]。奖项权重紧张用来表征各奖项的中奖几率,这里奖项权重数组的和值为100(=1+5+20+74),此中1体现一等奖的中奖概率为1%;5体现一等奖的中奖概率为5%;20体现三等奖的中奖概率为20%;末了剩下的74体现未中奖的概率为74%。
  1. var prizeWeight = [1, 5, 20, 74];    //奖项权重数组,表征各奖项的中奖时机占总数的百分比。好比一等奖的中奖率是1%,二等奖的中奖率是5%            
复制代码
如果抽奖活动设置的奖项更多,开发者也可以相应扩展权重数组的和值,好比权重和值为500,1000等,并相应设置数组元向来表征每抽500次,可中多少次、什么品级的奖项。
别的,开发者也可以将奖项名称奖项权重数组归并声明在一个对象中:
  1. //设置奖项名称、权重等数组var prizes = [    {"name": "一等奖", "weight": 1},     {"name": "二等奖", "weight": 5},     {"name": "三等奖", "weight": 20},     {"name": "未中奖", "weight": 74}];
复制代码
1.3、抽奖活动规则

<ul><li data-sort="0">0 < 本次抽奖随机数
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则