문제:
깊게 중첩된 JavaScript 객체를 반복적으로 반복하여 주어진 식별자(예: "레이블" 속성)를 기반으로 하는 특정 객체?
해결책:
깊이 반복하려면 재귀를 사용하는 중첩 객체:
<code class="js">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]); } }); }; console.log(iterate({ ...cars }));</code>
비재귀 접근 방식의 경우:
<code class="js">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]); } }); } }; console.log(iterate({ ...cars }));</code>
두 접근 방식 모두에서 핵심은 중첩된 각 객체의 값은 콘솔에 기록됩니다.
위 내용은 중첩된 JavaScript 개체를 통해 재귀적으로 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!