我在 JavaScript 中有一个哈希表:
a['b'] = 'c';
a['d'] = 'e';
我知道我可以用a.length. 如何在哈希中获取随机元素?我不知道如何或是否可以像数组一样索引它。
我知道我可以创建一个单独的散列键数组,但我想让这更容易,并且只处理 1 个散列。
我在 JavaScript 中有一个哈希表:
a['b'] = 'c';
a['d'] = 'e';
我知道我可以用a.length. 如何在哈希中获取随机元素?我不知道如何或是否可以像数组一样索引它。
我知道我可以创建一个单独的散列键数组,但我想让这更容易,并且只处理 1 个散列。
据我所知,JavaScript 中没有哈希表或关联数组这样的概念。在 JS 中,这个东西被称为object。看看你的sintax a['b']='c',我可以得出结论,它a是一个对象(顺便说一句,对象没有length像数组那样的“魔法”属性)。
您可以从对象中获取键(属性名称)数组,就像这样a简单Object.keys(a),所以完整的解决方案将是这样的
function randomValueOf( obj ) {
var keys = Object.keys(obj);
var len = keys.length;
var rnd = Math.floor(Math.random()*len);
var key = keys[rnd];
return obj[key];
}