random(arr1, arr2) {
var sum = 0,
factor = 0,
random = Math.random();
for(var i = arr2.length - 1; i >= 0; i--) {
sum += arr2[i]; // 统计概率总和
};
random *= sum; // 生成概率随机数
for(var i = arr2.length - 1; i >= 0; i--) {
factor += arr2[i];
if(random <= factor)
return arr1[i];
};
return null;
},
aa = ["低碳出行获赞", "乘车卷0.1元", "乘车卷0.5元", "乘车卷1元", "三网话费2元", "三网话费5元", "三网话费10元"]
bb = [0.6, 0.1, 0.05, 0.03, 0.07, 0.02, 0.01]
console.log(that.random(aa,bb),'随机数')
根据概率生成随机数
于 2021-08-30 14:04:59 首次发布
本文介绍了一个使用JavaScript编写的函数,用于根据给定的概率数组随机选择一个元素。通过计算总概率并生成随机数,函数模拟了抽奖过程,适用于活动中的奖品分配。例子中,aa数组包含奖励选项及其对应概率,bb数组则提供了每个选项的分配权重。

841

被折叠的 条评论
为什么被折叠?



