> 웹 프론트엔드 > JS 튜토리얼 > JavaScript에서 중첩된 객체를 어떻게 반복합니까?

JavaScript에서 중첩된 객체를 어떻게 반복합니까?

DDD
풀어 주다: 2024-12-11 13:07:14
원래의
1033명이 탐색했습니다.

How Do I Iterate Through Nested Objects in JavaScript?

JavaScript 일반 객체의 객체 멤버를 통해 반복

JavaScript 객체로 작업할 때 해당 멤버를 반복해야 하는 경우가 많습니다. 그러나 객체에 하위 객체가 포함된 경우 이를 반복하려면 특수한 접근 방식이 필요합니다.

키-값 쌍 기반 루프

일반 JavaScript 객체를 반복하려면 , 당신은 할 수 있습니다 사용:

for (var key in object) {
    // Loop through the object's key-value pairs
}
로그인 후 복사

예:

var validation_messages = {
    "key_1": {
        "your_name": "jimmy",
        "your_message": "hello world"
    },
    "key_2": {
        "your_name": "billy",
        "your_message": "foo equals bar"
    }
};

for (var key in validation_messages) {
    // Output: "jimmy" and "billy"
    console.log(validation_messages[key].your_name);
    
    // Output: "hello world" and "foo equals bar"
    console.log(validation_messages[key].your_message);
}
로그인 후 복사

중첩 객체 반복

중첩 객체를 처리할 때 중첩을 사용할 수 있습니다 루프:

for (var key in object) {
    if (!object.hasOwnProperty(key)) continue; // Skip prototype properties

    var subObject = object[key];
    for (var subKey in subObject) {
        // Loop through the sub-object's key-value pairs
    }
}
로그인 후 복사

예:

for (var key in validation_messages) {
    // If property exists in this object
    if (!validation_messages.hasOwnProperty(key)) continue;
    
    var subObject = validation_messages[key];
    
    for (var subKey in subObject) {
        // If property exists in this sub-object
        if (!subObject.hasOwnProperty(subKey)) continue;
        
        // Output: "jimmy" and "billy"
        console.log(validation_messages[key].your_name);
        
        // Output: "hello world" and "foo equals bar"
        console.log(validation_messages[key].your_message);
    }
}
로그인 후 복사

이 접근 방식을 사용하면 중첩된 객체에 대해서도 모든 키-값 쌍을 반복할 수 있습니다.

위 내용은 JavaScript에서 중첩된 객체를 어떻게 반복합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿