javascript - 在 JS 中进行加权随机选择的最简单方法是什么?
问题描述
我正在尝试制作一个程序,该程序将从数组中选择一个随机元素,并希望不同的元素具有不同的被选择概率。做这个的最好方式是什么?
var char = ["a","b","c"];
var weights = ["0.2","0.3","0.5";
function randomSelection(){
var randomchoice = ??;
return randomchoice
}
谢谢!
解决方案
最好的方法取决于您使用随机选择的目的。此处描述了许多加权随机选择算法。其中任何一个都可以用 javascript 实现,但第一个描述的线性扫描是最简单的。
推荐阅读
- c++ - 带有 Thread 的 Socket Recv 函数
- java - 有没有办法为java中的不同逻辑捕获相同的两个异常?
- python - 使用 python urllib.parse 在 sftp url 中解析相对路径
- sql - SQL Server 2012 - 动态分组
- ruby-on-rails-5 - 当我单击提交按钮时,它不会转到提到的 url。它对rails没有影响。搜索过滤器不起作用
- postgresql - Objectio.js如何设置一个连接池或者一个没有连接池的连接来共享TEMPORARY TABLE?
- vba - Outlook VBA 未更新后续标志
- vue.js - nuxt/vuetify 包中与 Vuetify 相关的 NPM 构建错误?
- python - 在熊猫数据框中的每个时间序列的第一次和最后一次出现之前和之后对 NaN 值进行切片
- django - 如何让 tox 和诗歌协同工作以支持测试 Python 依赖项的多个版本?