반응형
Prototype을 사용하여 자바 스크립트에서 객체의 모든 속성을 반복합니까?
Prototype JavaScript 프레임 워크를 사용하여 객체의 모든 속성을 반복하는 방법이 있습니까?
상황은 다음과 같습니다. JSON에서 다음과 같은 AJAX 응답을 받고 있습니다.
{foo: 1, bar: 2, barobj: {75: true, 76: false, 85: true}}
변수에 대한 json 응답을 평가 response
하면 response.barobj
객체의 각 속성을 반복하여 어떤 인덱스가 참인지 거짓인지 확인할 수 있기를 원합니다 .
프로토 타입은 모두가 Object.keys()
하고 Object.values()
있지만 이상하게도 간단하지 보인다 Object.each()
기능을! Object.keys () 및 Object.values ()의 결과를 가져 와서 하나를 반복하면서 다른 하나를 상호 참조 할 수 있지만, 적절한 방법이 있다고 확신하는 해킹입니다!
먼저 객체 리터럴을 프로토 타입 해시로 변환해야합니다 .
// Store your object literal
var obj = {foo: 1, bar: 2, barobj: {75: true, 76: false, 85: true}}
// Iterate like so. The $H() construct creates a prototype-extended Hash.
$H(obj).each(function(pair){
alert(pair.key);
alert(pair.value);
});
여기서 프로토 타입이 필요하지 않습니다. JavaScript에는 for..in
루프 가 있습니다. 당신이 확실하지 엉망 아무도 그 경우 Object.prototype
, 확인하지 hasOwnProperty()
뿐만 아니라, 즉,
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
doSomethingWith(obj[prop]);
}
키를 반복하고 대괄호를 사용하여 값을 가져와야합니다.
참조 : 자바 스크립트 개체의 속성을 어떻게 열거합니까?
편집 : 분명히 이것은 질문을 복제합니다.
반응형
'programing' 카테고리의 다른 글
Rails를 설치할 때 "/ usr / bin 디렉토리에 대한 쓰기 권한이 없습니다"오류를 어떻게 수정합니까? (0) | 2020.09.06 |
---|---|
초 값을 시간 분 초로 변환 하시겠습니까? (0) | 2020.09.06 |
TERM을 트래핑하고 QUIT를 보낸 후 Heroku에서 Unicorn 종료 시간 초과 (0) | 2020.09.06 |
Scala에서 암시 적 인수가 여러 개있는 함수 정의 (0) | 2020.09.05 |
PhpStorm 텍스트 크기 (0) | 2020.09.05 |