배열을 입력받아 그 길이를 리턴해야 합니다.
let output = arrLength([1, -2, 1, 3]);
console.log(output); // --> 4
function arrLength(arr) {
if (arr.isEmpty()) { // 내장 메서드로 빈 배열인지 확인하고
return 0; // 빈 배열이면(true) 0을 리턴한다.
}
// const [head, ...tail] = arr;
const tail = arr.slice(1); // tail이라는 변수에 배열 첫번째 원소만 제외한 나머지 원소들을 할당한다.
return 1 + arrLength(tail); // 1(한바퀴 돌 때마다 1을 카운트하는 개념) + 나머지 배열
}
원소 하나씩을 제외하면서 1을 카운트업 해주면 나중에 원소가 하나도 없을때까지 돈다면 원소의 개수n개만큼 n번 카운트 되었으니 길이 n을 반환할 수 있다. 빈배열이면 0을 리턴하면서 끝난다.