首页 > 解决方案 > 在 JS 中进行加权随机选择的最简单方法是什么?

问题描述

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

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

谢谢!

标签: javascriptarraysfunctionrandomweighted

解决方案


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


推荐阅读