2011-09-21 86 views

回答

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

一個殘酷的方法是在對象上使用.toString,然後提取名稱。但我敢肯定會有更好的辦法:)

4
var obj = { 
    property: "value" 
}; 

for (var key in obj) { 
    if (obj.hasOwnProperty(key)) { 
     alert("key = " + key + ", value = " + obj[key]); 
    } 
} 
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; 
    } 
} 
相關問題