为变量分配有限集合中的随机元素

Assigning a variable a random element from a finite set

本文关键字:随机 元素 集合 变量 分配      更新时间:2023-09-26

在Javascript中,如何将变量声明为预定义的有限值集的随机元素? 例如,假设用户希望将变量fooBar赋值为集合 {1, 2, 3} 中的随机元素。 怎么做呢?

从对象:

function pickRandomProperty(obj) {
    var result;
    var count = 0;
    for (var prop in obj)
        if (Math.random() < 1/++count)
           result = prop;
    return result;
}

从数组:

var rand = myArray[Math.floor(Math.random() * myArray.length)];