2011-09-21 6 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; 
    } 
} 
관련 문제