在JavaScript中获取对象的名称作为字符串
问题描述:
可能重复:
How do I enumerate the properties of a javascript object?
Javascript: Getting a Single Property Name在JavaScript中获取对象的名称作为字符串
给定一个JavaScript对象或JSON对象,如:
{
property: "value"
}
怎么能得到这个词property
作为一个字符串?
答
for(var i in obj) alert(i);//the key name
答
一个残酷的方法是在对象上使用.toString,然后提取名称。但我敢肯定会有更好的办法:)
答
var obj = {
property: "value"
};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
alert("key = " + key + ", value = " + obj[key]);
}
}
答
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;
}
}
http://stackoverflow.com/questions/85992/how-do-i-enumerate-the-properties-of-a-javascript-object – gr5