ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript でネストされたオブジェクトを反復するにはどうすればよいですか?

JavaScript でネストされたオブジェクトを反復するにはどうすればよいですか?

DDD
リリース: 2024-12-11 13:07:14
オリジナル
973 人が閲覧しました

How Do I Iterate Through Nested Objects in JavaScript?

JavaScript プレーン オブジェクトのオブジェクト メンバーのループ

JavaScript オブジェクトを操作する場合、多くの場合、そのメンバーを反復処理する必要があります。ただし、オブジェクトにサブオブジェクトが含まれている場合、それらをループするには特殊なアプローチが必要です。

Key-Value ペアベースのループ

プレーンな JavaScript オブジェクトをループするには、 あなたはできるuse:

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート