是否可以遍历一个对象,并获取密钥名称($ key => $ value)?

时间:2011-08-23 14:53:42

标签: javascript loops object-literal for-in-loop

在PHP中,我们可以遍历关联数组,并像这样获取键和值的值:

$myArray = array(
    'key1' => 'value1',
    'key2' => 'value2'
);

foreach($myArray as $key => $val){
    echo 'The value of "'.$key.'" is "'.$val.'".\n';
}

/* Output:
The value of "key1" is "value1".
The value of "key2" is "value2".
*/

有什么办法可以在javascript中完成吗?

myObject = { 
    'key1': 'value1',
    'key2': 'value2'
};

for (val in myObject) {
    // check hasOwnProperty and what not...

    // Now, how do I get the key value?
}

2 个答案:

答案 0 :(得分:4)

你的问题有一个相反的概念:JavaScript的for / in循环为你提供了关键,而不是价值。然后使用密钥获取值。

var myObject = { 
        'key1': 'value1',
        'key2': 'value2'
    },
    key,
    val;

for( key in myObject )
{
    if( Object.prototype.hasOwnProperty.call( myObject, key ) )
    {
       val =  myObject[key];
    }
}

答案 1 :(得分:2)

使用myObject[val]

很容易