JavaScript에서 복잡한 개체의 재귀적 반복
귀하의 목표는 JavaScript에서 깊게 중첩된 개체 구조를 탐색하여 각 개체의 이름과 개체에 액세스하는 것입니다.
for...in 루프
한 가지 접근 방식은 for...in 루프를 활용하는 것입니다.
<code class="javascript">for (var key in foo) { if (key === "child") { // Do something with the child } else if (key === "bar") { // Do something with the bar } else if (key === "grand") { // Do something with the grand } }</code>
프로토타입 속성 처리
for...in을 사용할 때는 프로토타입에서 상속된 속성도 반복하므로 주의하세요. 이를 방지하려면 hasOwnProperty 메서드를 사용하세요.
<code class="javascript">for (var key in foo) { if (!foo.hasOwnProperty(key)) continue; // Skip inherited properties if (key === "child") { // Do something with the child } // ... }</code>
재귀 함수
재귀 루프의 경우 재귀 함수 정의를 고려하세요.
<code class="javascript">function eachRecursive(obj) { for (var k in obj) { if (typeof obj[k] === "object" && obj[k] !== null) { eachRecursive(obj[k]); // Recurse into sub-objects } else { // Do something with key-value pairs } } }</code>
이 함수는 객체를 순회하고 중첩된 객체를 반복적으로 반복합니다.
사용법
이러한 솔루션을 사용하려면 다음을 호출하세요.
<code class="javascript">eachRecursive(foo);</code>
위 내용은 JavaScript에서 재귀 루프를 사용하여 깊게 중첩된 객체 구조를 탐색하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!