辞書形式のオブジェクトが{a:1, b:-2, c:42}
などのJavascriptで指定されている場合、プロパティをランダムに選択する簡単な方法はありますか?Javascriptでオブジェクトの列挙可能なプロパティをランダムに選択します。
上記の例では、ランダムにa
,b
またはc
を返す関数を用意したいと思います。
私が作ってみたソリューションは、次のようなものです:
var proplist = []
forEach(property in foo) {
if(propertyIsEnumerable(foo[property]) {
proplist.push(property);
}
}
var n = proplist.length;
// randomly choose property (randInt(n) returns a random integer in [0,n))
proplist[randInt(n)];
これを行うにはより多くの慣用的な方法はありますか?
[Javascriptオブジェクトのランダムプロパティを選択]の複製可能です。(http://stackoverflow.com/questions/2532218/pick-random-property-from-a-javascript-object) – Gazler