0

我需要一种有效的方法来根据百分比选择选项。

例如,假设我们有四种颜色:黑色、蓝色、红色和白色。

现在,我将创建一个填充颜色的数组,但我需要根据以下百分比选择它们:

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 的回答,我创建了这个测试。虽然我还没有验证它的统计数据,但它直观地代表了我所追求的。像往常一样,我想多了这个问题。其他答案非常受欢迎。

4

1 回答 1

1

你只需要标准化你的价值观;获取总“百分比”(在您的实例中,80 + 70 + 30 + 5 → 185)并选择一个介于 1 和该总数之间的数字;在您的情况下,1-80 为黑色,81-150 为蓝色,151-180 为红色,181-185 为白色。

于 2013-05-18T22:17:00.460 回答