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

发布时间 - 2026-01-11 03:13:36    点击率:

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));

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


# js  # 概率  # jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码  # js控制随机数生成概率代码实例  # js数组实现权重概率分配  # js 概率计算(简单版)  # 详解JavaScript按概率随机生成事件  # javascript实现随机抽奖功能  # js实现抽奖功能  # 原生JS实现九宫格抽奖  # js实现简单抽奖功能  # JS根据奖品权重计算中奖概率  # 随机数  # 上一  # 落在  # 可以根据  # var  # myRandom  # function  # lt  # random  # Math  # rand  # br  # brush  # pre  # class  # return  # break  # gt  # floor 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用美橙互联一键搭建多站合一网站?  如何彻底删除建站之星生成的Banner?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel如何处理异常和错误?(Handler示例)  如何在建站宝盒中设置产品搜索功能?  如何在服务器上三步完成建站并提升流量?  javascript基本数据类型及类型检测常用方法小结  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Laravel如何实现API版本控制_Laravel版本化API设计方案  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  怎么用AI帮你设计一套个性化的手机App图标?  如何在景安云服务器上绑定域名并配置虚拟主机?  在线教育网站制作平台,山西立德教育官网?  专业商城网站制作公司有哪些,pi商城官网是哪个?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何在Windows服务器上快速搭建网站?  JavaScript如何实现继承_有哪些常用方法  海南网站制作公司有哪些,海口网是哪家的?  如何续费美橙建站之星域名及服务?  大型企业网站制作流程,做网站需要注册公司吗?  Laravel如何创建自定义Facades?(详细步骤)  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  如何安全更换建站之星模板并保留数据?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  想要更高端的建设网站,这些原则一定要坚持!  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  ,怎么在广州志愿者网站注册?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  如何快速搭建个人网站并优化SEO?  Android Socket接口实现即时通讯实例代码  Laravel如何优化应用性能?(缓存和优化命令)  如何用搬瓦工VPS快速搭建个人网站?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何在云虚拟主机上快速搭建个人网站?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  如何在Windows 2008云服务器安全搭建网站?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  如何实现javascript表单验证_正则表达式有哪些实用技巧  微信小程序 五星评分(包括半颗星评分)实例代码