关于javascript:在不知道密钥名称的情况下获取密钥的值

Getting the the value of a Key without know the name of the key

本问题已经有最佳答案,请猛点这里访问。

我有一个这样的物体:

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

酒吧可以是任何一个字,我需要读baz。由于对象总是这样(一行),我发现使每个循环效率低下。

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

有什么聪明的方法可以做到这一点吗?


使用Object.keys()列出密钥,并从中获取。

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

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

1
2
3
4
5
6
var foo = { 'bar' : 'baz' }

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

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


1
2
3
4
5
6
7
8
9
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
    }
}