중첩된 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!