확률 (가중치) 로 추출 (표시)
1049 단어 자바 script
* 8195: 특정한 물품 의 확률 = 자신의 가중치 / 총 가중치, 부동 소수점 정밀도 문 제 를 피하 기 위해 우 리 는 확률 을 가중치 로 전환 하여 계산 하고 자신의 가중치 = 특정한 물품 의 확률 * 총 가중치.그래서 무 작위 로 추출 한 아 이 템 은 Math. random () * 총 가중치 입 니 다.
function roll(args){
let sum_weight = 0;
let result = null;
const items = args.slice().map(item => (sum_weight += item.weight) && item); //
const random = Math.ceil(Math.random() * sum_weight); //
let start = 0; // , 0
while (items.length) {
const item = items.shift(); //
const end = start + item.weight; //
if (random > start && random <= end) { // , ,
result = item;
break;
}
start = end; // ,
}
return result ? result.item : null;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thymeleaf 의 일반 양식 제출 과 AJAX 제출텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.