ホームページ > 記事 > ウェブフロントエンド > ネストされた JavaScript オブジェクト内の特定のオブジェクトをラベルで検索する方法
ネストされた JavaScript オブジェクトを走査し、特定のラベルを持つオブジェクトを見つけるには、次の手順に従います。
ネストされたオブジェクトを再帰的に反復するには:
const iterate = (obj) => { Object.keys(obj).forEach(key => { console.log(`key: ${key}, value: ${obj[key]}`) if (typeof obj[key] === 'object' && obj[key] !== null) { iterate(obj[key]) } }) } iterate(obj); // obj is the main object to be traversed
非再帰アプローチの場合:
const iterate = (obj) => { const stack = [obj]; while (stack?.length > 0) { const currentObj = stack.pop(); Object.keys(currentObj).forEach(key => { console.log(`key: ${key}, value: ${currentObj[key]}`); if (typeof currentObj[key] === 'object' && currentObj[key] !== null) { stack.push(currentObj[key]); } }); } };
次のネストされたオブジェクトを考えます:
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: [] } ] };
ラベル「」を持つオブジェクトを取得するには再帰的アプローチを使用して 4 Wheel Drive" を呼び出します:
iterate(cars);
非再帰的アプローチを使用して同じオブジェクトを取得するには、次のように呼び出します:
iterate(cars);
これにより、すべてのキーが記録されます。ネストされたオブジェクト内の値ペア (目的のオブジェクトを含む)。
以上がネストされた JavaScript オブジェクト内の特定のオブジェクトをラベルで検索する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。