Rumah > Artikel > hujung hadapan web > Bagaimana untuk Mencari Objek Khusus dalam Objek JavaScript Bersarang mengikut Label?
Untuk melintasi objek JavaScript bersarang dan mencari objek dengan label tertentu, ikuti langkah berikut:
Untuk mengulangi secara rekursif melalui objek bersarang:
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
Untuk pendekatan bukan rekursif :
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]); } }); } };
Pertimbangkan objek bersarang berikut:
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: [] } ] };
Untuk mendapatkan semula objek dengan label " 4 Wheel Drive" menggunakan pendekatan rekursif, panggil:
iterate(cars);
Untuk mendapatkan semula objek yang sama menggunakan pendekatan bukan rekursif, panggil:
iterate(cars);
Ini akan log semua kunci- pasangan nilai dalam objek bersarang, termasuk objek yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Objek Khusus dalam Objek JavaScript Bersarang mengikut Label?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!