js 제어 난수 생 성 확률 코드 인 스 턴 스
구체 적 인 내용 은 아래 와 같 으 니,여러분 이 참고 하 시기 바 랍 니 다.
'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 제어 난수 생 성 확률 코드 인 스 턴 스 를 상세 하 게 통합 시 키 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 여러분 에 게 답 할 것 입 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.