ネストされたメンバーを使用した 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 サイトの他の関連記事を参照してください。