假定场景:写一个方法,返回 1,2,3,4 表示四种奖品,这四种奖品的概率分别是 5%,15%,25%,55%;
思路,利用Math.random()的随机数,然后将四种奖品填满一个100长度的数组容器中,随机抽取;
上代码:
function getReward() {
let arr1 = new Array(5).fill(1);
let arr2 = new Array(15).fill(2);
let arr3 = new Array(25).fill(3);
let arr4 = new Array(55).fill(4);
let arr = [...arr1, ...arr2,...arr3, ...arr4]
let random = Math.floor(Math.random() * 100);
return arr[random];
}
这种思路很简单,不知道你们又没有更好的思路。