【问题标题】:Get key of a hashmap withou know it's name在不知道其名称的情况下获取哈希图的键
【发布时间】:2012-04-22 17:25:45
【问题描述】:

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

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

【问题讨论】:

标签: javascript hashmap


【解决方案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);
}

【讨论】:

    【解决方案2】:

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

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

    见:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys

    【讨论】:

      猜你喜欢
      • 2019-09-08
      • 2012-11-09
      • 1970-01-01
      • 2015-01-23
      • 2013-11-20
      • 2016-11-10
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多