获取hashmap的密钥而不知道其名称

时间:2012-04-22 17:25:46

标签: javascript hashmap

在对象中只有一个键/值,如何在不知道键名的情况下获取它们? (如果可能的话)

var m = {x:5}; // we don't know x is the key

2 个答案:

答案 0 :(得分:1)

你可以使用hasOwnProperty来做这样的事情 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/HasOwnProperty

var m = {x:5};

function keys(obj)
{
    var keys = [];

    for(var key in obj)
    {
        if(obj.hasOwnProperty(key)) {    
        {
            keys.push(key);
        }
    }

    return keys;
}

console.log(m);

因此,使用这些知识,您可以编写一个基本上检查对象中是否存在给定键的函数:

function hasKey(obj, key) {
   return obj.hasOwnProperty(key);
}

答案 1 :(得分:0)

for…in循环的替代方案,如果浏览器支持ES5(或ES5的垫片):

var key = Object.keys(m)[0];

请参阅:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys