在JS中进行加权随机选择的最简单方法是什么?

问题描述

我正在尝试制作一个程序,该程序将从数组中选择一个随机元素,并希望它是不同的元素具有不同的被选择概率。最好的方法是什么?

var char = ["a","b","c"];
var weights = ["0.2","0.3","0.5";
function randomSelection(){
     var randomchoice = ??;
     return randomchoice
}

谢谢!

解决方法

最好的方法取决于您使用随机选择的目的。 here描述了许多加权随机选择算法。这些中的任何一个都可以用javascript实现,但第一个描述的线性扫描是最简单的。