随机返回三个选项之一的函数,其中所有选项都具有完全相同的机会?

Mor*_*ost 1 javascript random

我知道之前可能已经问过这个问题,但我正在尝试使用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)