我有一个值数组:
var my_arr = [/*all kinds of stuff*/]
我有一个生成随机数的函数,我将其用作my_arr
...中元素的索引
var RandomFromRange = function (min,max)
{
return Math.floor(Math.random()*(max-min+1)+min);
};
...所以我可以做这样的事情:
my_arr[RandomFromRange(0,my_arr.length)];
我想要做的是将其中的某些元素指定my_arr
为具有“优先级”,以便RandomFromRange
返回 5,例如 25% 的时间,返回 4、14% 的时间,并返回任何其他数字......
(100 - 25 - 14)/(my_arr.length - 2)
...% 的时间。
在我进行研究时,我遇到了几篇描述类似问题的帖子 ,但他们的答案不是用 Javascript 编写的,唉,我没有足够的数学知识来理解他们的一般原则。任何意见,将不胜感激。