我需要一种有效的方法来根据百分比选择选项。
例如,假设我们有四种颜色:黑色、蓝色、红色和白色。
现在,我将创建一个填充颜色的数组,除了,我需要根据以下百分比选择它们:
Black - 80% chance of selection
Blue - 70% chance of selection
Red - 30% chance of selection
White - 5% chance of selection
我想为每种颜色分配 1 到 100 之间的范围,然后生成介于两者之间的随机数。然而,这意味着所有颜色的百分比必须加起来达到 100%,这可能真的无法避免。
代码不是必需的,但会喜欢一些可以通过 JavaScript 实现的算法来完成此任务。
编辑: 基于Patrice Levesque's回答,我创建了this test .虽然我还没有验证它的统计数据,但它直观地代表了我所追求的。像往常一样,我想多了这个问题。其他答案非常受欢迎。
最佳答案
你只需要规范你的值(value)观;得到总“百分比”(在你的例子中,80 + 70 + 30 + 5 → 185)并选择一个介于 1 和总数之间的数字;在你的例子中,1-80 是黑色,81-150 是蓝色,151-180 是红色,181-185 是白色。
关于javascript - 根据百分比选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16629463/