国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

js控制隨機數生成概率代碼實例

2024-05-06 16:49:19
字體:
來源:轉載
供稿:網友

基本思路:把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控制隨機數生成概率代碼實例詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南部县| 南郑县| 丽水市| 洞口县| 长沙市| 孟连| 定陶县| 会宁县| 信阳市| 康马县| 绥宁县| 东乌珠穆沁旗| 扶绥县| 临高县| 大洼县| 青海省| 兴国县| 深州市| 永川市| 铁岭市| 邵阳县| 田东县| 调兵山市| 庆元县| 福州市| 沐川县| 兴仁县| 乐亭县| 嘉兴市| 宜宾县| 蓬溪县| 九龙坡区| 郴州市| 象山县| 德安县| 东乡县| 黎川县| 石阡县| 石狮市| 色达县| 延吉市|