js控制随机数生成概率代码实例
网络编程 2021-07-04 15:50www.168986.cn编程入门
这篇文章主要介绍了js控制随机数生成概率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们狼蚁网站SEO优化随着长沙网络推广来一起学习学习吧
基本思路把Math.random()生成的数看着百分比,然后定义每个整数值取值范围。
具体内容如下,供大家参考
'use strict'; export default class GL { / 构造函数 @param {object} opt @param {number} opt.min 最小整数值 @param {number} opt.max 最大整数值 @param {Map} opt.fenpei 自定义概率 / constructor({ min, max, fenpei = new Map() }) { this.min = min; this.max = max; this.fenpei = fenpei; } / 可分配百分比 / get baifenbi() { return (1 - this.peizhi) / (this.max - this.min - this.fenpei.size); } / 配置 / get peizhi() { let result = 0; for (let i of this.fenpei.values()) { if (this.min <= i && i < this.max) result += i; } return result; } / 随机数 @returns {number} [min,max) / random() { let t = 0, r = Math.random(); for (let i = this.min; i < this.max; i++) { this.fenpei.has(i) ? t += this.fenpei.get(i) : t += this.baifenbi; if (t > r) return i; } return null; } } let d = new GL({ min: 0, max: 8, fenpei: new Map([ [0, 0.5], // 数值,百分比 [22, 0.4] ]) }); // 测试 let count = Array(10).fill(0); for (let i = 0; i < 10000; i++) { count[d.random()] += 1; } for (let i = 0; i < count.length; i++) { console.log(count[i] / 10000); }
以上所述是长沙网络推广给大家介绍的js控制随机数生成概率代码实例详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南