在不知道密钥名称的情况下获取密钥的值

时间:2014-11-25 17:05:07

标签: javascript jquery

我有一个这样的对象:

var foo = { 'bar' : 'baz' }

bar 可以是任何单词,我需要阅读 baz 。由于对象总是像这样(一行),我发现每个循环都是低效的。

$.each( body.message, function( key, value ) { 
  alert(value);
} 

有这样做的聪明方法吗?

3 个答案:

答案 0 :(得分:3)

使用Object.keys()列出密钥,然后从那里获取密钥。

foo[Object.keys(foo)[0]]

答案 1 :(得分:1)

您也可以使用for循环:http://jsfiddle.net/TrueBlueAussie/s2745674/1/

var foo = { 'bar' : 'baz' }

for (var key in foo)
{
    alert(key);
}

对于单个项目(如指定的那样),您不会注意到速度降低(对于您会注意到的项目负载而言):)

答案 2 :(得分:0)

var foo = { 'bar' : 'baz' };

for(var key in foo)
{
    if (foo.hasOwnProperty(key)){
         // use key for the key and foo[key] for the value.        
         console.log('key: ' + key + ' value: ' + foo[key]); // key: bar value: baz
    }
}