Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript를 사용하여 배열 요소의 깊은 수

<시간/>

문제

요소의 중첩된 배열을 사용하고 배열에 있는 요소의 깊은 수를 반환하는 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