문제
요소의 중첩된 배열을 사용하고 배열에 있는 요소의 깊은 수를 반환하는 JavaScript 함수를 작성해야 합니다.
입력
const arr = [1, 2, [3, 4, [5]]];
출력
const output = 7;
수준 1의 요소가 2이고 수준 2의 요소가 2이고 수준 3의 요소가 1이므로 깊은 수는 7입니다.
예시
다음은 코드입니다 -
const arr = [1, 2, [3, 4, [5]]]; const deepCount = (arr = []) => { return arr .reduce((acc, val) => { return acc + (Array.isArray(val) ? deepCount(val) : 0); }, arr.length); }; console.log(deepCount(arr));
코드 설명
Array.prototype.reduce() 메서드를 사용하여 배열을 반복하고 반복에서 중첩 배열을 발견하면 함수를 재귀적으로 호출했습니다.
출력
7