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

首頁 > 語言 > JavaScript > 正文

js控制隨機數(shù)生成概率代碼實例

2024-05-06 15:41:31
字體:
供稿:網(wǎng)友

基本思路:把Math.random()生成的數(shù)看著百分比,然后定義每個整數(shù)值取值范圍。

具體內(nèi)容如下,供大家參考

'use strict';export default class GL {  /**   * 構(gòu)造函數(shù)   * @param {object} opt   * @param {number} opt.min 最小整數(shù)值   * @param {number} opt.max 最大整數(shù)值   * @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;  }  /**   * 隨機數(shù)   * @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], // 數(shù)值,百分比    [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控制隨機數(shù)生成概率代碼實例詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 泸州市| 彩票| 闵行区| 方正县| 马鞍山市| 绥芬河市| 琼海市| 木兰县| 永仁县| 云和县| 孝义市| 巴彦淖尔市| 乐业县| 宜兰县| 玛曲县| 长汀县| 斗六市| 涡阳县| 当雄县| 乌海市| 桓台县| 江都市| 新源县| 乌兰察布市| 信宜市| 德昌县| 天等县| 万安县| 肇源县| 延边| 苍山县| 金溪县| 阳曲县| 尖扎县| 新安县| 奉新县| 延寿县| SHOW| 大港区| 大同市| 乐至县|