ホームページ >ウェブフロントエンド >jsチュートリアル >ネストされた JavaScript オブジェクト内の特定のオブジェクトを効率的に見つけるにはどうすればよいですか?
ネストされた JavaScript オブジェクトの反復処理
ネストされた JavaScript オブジェクトの反復処理は、特にプロパティに基づいて特定のオブジェクトを取得する必要がある場合に困難になることがあります。価値。次の例を考えてみましょう:
<code class="javascript">var cars = { label: 'Autos', subs: [ { label: 'SUVs', subs: [] }, { label: 'Trucks', subs: [ { label: '2 Wheel Drive', subs: [] }, { label: '4 Wheel Drive', subs: [ { label: 'Ford', subs: [] }, { label: 'Chevrolet', subs: [] } ] } ] }, { label: 'Sedan', subs: [] } ] };</code>
「Ford」ブランドのオブジェクトを取得したい場合は、再帰的アプローチを使用できます:
<code class="javascript">const iterate = (obj, identifier) => { for (let key in obj) { if (obj[key]['label'] === identifier) { return obj[key]; } if (typeof obj[key] === 'object' && obj[key] !== null) { const result = iterate(obj[key], identifier); if (result) { return result; } } } return null; }; const fordObject = iterate(cars, 'Ford');</code>
この例では、 iterate 関数は、検索するオブジェクトと識別子文字列の 2 つのパラメータを取ります。オブジェクトのプロパティを反復処理して、ラベル プロパティが識別子と一致するかどうかを確認します。そうでない場合は、プロパティが別のオブジェクトであるかどうかをチェックし、反復を続行します。一致するオブジェクトが見つからない場合は、null を返します。
以上がネストされた JavaScript オブジェクト内の特定のオブジェクトを効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。