2

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

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

2 回答 2

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);
}
于 2012-04-22T17:28:12.980 回答
0

for…in如果浏览器支持 ES5(或为 ES5 提供 shim),则可以替代循环:

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

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

于 2012-04-22T17:32:27.967 回答