我知道之前可能已经问过这个问题,但我正在尝试使用Javascript函数返回三个选项之一.问题是每个选项应该完全相等的机会.这是我到目前为止:
var choice = Math.random();
if (choice <= 0.34) {
choice = "option1";
} else if (choice <= 0.67) {
choice = "option2";
} else {
choice = "option3";
}
Run Code Online (Sandbox Code Playgroud)
这已经非常准确,但"option3"的概率略低.如何重新制定这个以使每个选项都有相同的发生机会?我更喜欢一种不涉及在if条件或类似情况下使用"0.3333333333333333 ..."的解决方案.
小智 5
我认为做这样的事情会更简洁:
var options = ["option1", "option2", "option3"];
var choice = options[Math.floor(Math.random()*options.length)];
Run Code Online (Sandbox Code Playgroud)