我需要一种有效的方法来根据百分比选择选项。
例如,假设我们有四种颜色:黑色,蓝色,红色和白色。
现在,我要创建一个充满颜色的数组,除了我需要根据以下百分比选择它们:
Black - 80% chance of selection
Blue - 70% chance of selection
Red - 30% chance of selection
White - 5% chance of selection
我想为每种颜色指定1到100之间的范围,然后在它们之间生成一个随机数。然而,这意味着所有颜色的百分比必须加起来达到100%,这可能是不可避免的。
代码不是必需的,但会喜欢一些可以通过JavaScript实现的算法来实现这一目标。
编辑: 根据{{3}}回答,我创建了Patrice Levesque's。虽然我没有验证它的统计数据,但它在视觉上代表了我所追求的。像往常一样,我过度思考了这个问题。其他答案非常受欢迎。
答案 0 :(得分:1)
你只需要规范你的价值观;获得总“百分比”(在您的实例中,80 + 70 + 30 + 5→185)并选择1到该总数之间的数字;在你的情况下,1-80将是黑色,81-150将是蓝色,151-180将是红色,181-185将是白色。