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

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

Susan Sarandon
リリース: 2024-12-15 02:20:10
オリジナル
369 人が閲覧しました

How Can I Effectively Iterate Through Nested Objects in JavaScript?

ネストされたメンバーを使用した JavaScript オブジェクトの反復

JavaScript オブジェクトのメンバーをループするのは簡単です。ただし、オブジェクトにオブジェクトであるネストされたメンバーが含まれている場合、プロセスはより複雑になります。このようなシナリオを効果的に処理する方法を検討してみましょう。

検証メッセージを表すネストされたメンバー オブジェクトを含む次の JavaScript オブジェクトについて考えます。

var validation_messages = {
    "key_1": {
        "your_name": "jimmy",
        "your_msg": "hello world"
    },
    "key_2": {
        "your_name": "billy",
        "your_msg": "foo equals bar"
    }
};
ログイン後にコピー

このオブジェクトのすべてのメンバーをループするには、次のものが含まれます。ネストされたメンバーでは、for...in ループの組み合わせを利用できます。以下に例を示します。

for (var key in validation_messages) {
    // Skip loop if the property is from prototype
    if (!validation_messages.hasOwnProperty(key)) continue;

    // Access the nested member object
    var obj = validation_messages[key];
    
    for (var prop in obj) {
        // Skip loop if the property is from prototype
        if (!obj.hasOwnProperty(prop)) continue;

        // Access the individual properties
        alert(prop + " = " + obj[prop]);
    }
}
ログイン後にコピー

このコードは、validation_messages オブジェクトの最上位キーを反復処理します。各キーについて、それがオブジェクトの有効なプロパティであるかどうかを確認します (プロトタイプから継承されたプロパティを除く)。有効な場合、ネストされたメンバー オブジェクトにアクセスし、別の for...in ループを実行してそのプロパティを反復処理します。ここでも、有効なプロパティをチェックし、その値を取得します。

このアプローチを使用すると、JavaScript オブジェクトの最上位メンバーとネストされたメンバーの両方をシームレスにループし、それらのすべての値にアクセスできます。

以上がJavaScript でネストされたオブジェクトを効果的に反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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