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

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

DDD
DDD원래의
2024-12-11 13:07:14973검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.