在JavaScript中将对象的名称作为字符串获取

时间:2011-09-21 17:43:37

标签: javascript jquery

  

可能重复:
  How do I enumerate the properties of a javascript object?
  Javascript: Getting a Single Property Name

给定JavaScript对象或JSON对象,例如:

{
  property: "value"
}

如何将单词property作为字符串?

4 个答案:

答案 0 :(得分:4)

var obj = {
    property: "value"
};

for (var key in obj) {
    if (obj.hasOwnProperty(key)) {
        alert("key = " + key + ", value = " + obj[key]);
    }
}

答案 1 :(得分:3)

for(var i in obj) alert(i);//the key name

答案 2 :(得分:0)

一种残酷的方法是在对象上使用.toString,然后提取名称。但我相信会有更好的方法:)

答案 3 :(得分:0)

使用Object.keys()[docs]

var key = Object.keys( my_obj )[ 0 ];  // "property"

它返回该特定对象(不是其原型链)中可枚举键的数组。


要支持旧版浏览器,请添加MDN文档中提供的兼容性填充程序。

if (!Object.keys) {
    Object.keys = function (o) {
        if (o !== Object(o)) throw new TypeError('Object.keys called on non-object');
        var ret = [],
            p;
        for (p in o) if (Object.prototype.hasOwnProperty.call(o, p)) ret.push(p);
        return ret;
    }
}