我在 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];
}