⊗jsPmRcMS 278 of 505 menu

JavaScript에서의 재귀와 다차원 구조

임의의 중첩 수준을 가진 다차원 배열이 주어집니다. 예를 들어, 다음과 같습니다:

let arr = [ 1, [ 2, 7, 8 ], [ 3, 4, [5, [6, 7]], ] ];

보시다시피, 이 배열은 복잡한 구조를 가지고 있으며, 이 구조는 임의적일 수 있고 중첩 수준은 얼마든지 깊을 수 있다고 가정합니다.

배열의 모든 원시적(즉, 배열이 아닌) 요소를 콘솔에 출력하려 한다고 가정해 보겠습니다. 이 경우, 배열이 불규칙한 구조를 가지고 있고 중첩 수준을 알 수 없기 때문에 단순히 반복문을 사용하여 이러한 배열을 순회하는 것은 불가능합니다.

그러나 재귀를 사용하면 이러한 배열을 순회하기 매우 편리합니다.

먼저, 매개변수로 배열을 전달받는 함수를 만들고, 함수 내에서 배열을 순회하기 위한 반복문을 작성해 보겠습니다:

function func(arr) { for (let elem of arr) { console.log(elem); } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);

우리가 만든 반복문은 주 배열의 요소만 순회할 것입니다. 즉, 처음에 1을 출력하고, 그 다음 [2, 7, 8], 그리고 [3, 4, [5, [6, 7]]을 출력할 것입니다.

이제 반복문 내에서 원시 요소와 배열 요소를 구분해 보겠습니다:

function func(arr) { for (let elem of arr) { if (typeof elem == 'object') { // 요소 - 배열 } else { // 요소 - 원시값 console.log(elem); } } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);

이제 요소가 배열인 경우, 함수가 그 배열을 매개변수로 전달하여 자기 자신을 호출하도록 만들어 보겠습니다:

function func(arr) { for (let elem of arr) { if (typeof elem == 'object') { func(elem); } else { console.log(elem); } } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);

임의의 중첩 수준을 가진 다차원 객체가 주어집니다. 예를 들어, 다음과 같습니다:

{a: 1, b: {c: 2, d: 3, e: 4}, f: {g: 5, j: 6, k: {l: 7, m: {n: 8, o: 9}}}}

재귀를 사용하여 이 객체의 모든 원시 요소를 콘솔에 출력하세요.

임의의 중첩 수준을 가진 다차원 배열이 주어집니다. 예를 들어, 다음과 같습니다:

[1, [2, 7, 8], [3, 4, [5, [6, 7]]]]

다차원 배열을 1차원 배열로 펼치는 코드를 작성하세요. 위에 제시된 배열의 경우 결과는 다음과 같습니다:

[1, 2, 7, 8, 3, 4, 5, 6, 7]
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부