JavaScript에서 재귀를 통한 매개변수 사용 예시
재귀를 사용하여 배열의 요소를 순차적으로 출력해 봅시다. 배열은 처음에 함수의 매개변수로 전달된다고 가정합니다:
func([1, 2, 3]);
먼저 재귀 없이
shift
메서드를 사용하여 배열의 모든 요소를 하나씩 출력해 보겠습니다:
function func(arr) {
console.log(arr.shift()); // 1 출력
console.log(arr); // [2, 3] 출력 - 배열이 줄어듦
console.log(arr.shift()); // 2 출력
console.log(arr); // [3] 출력 - 배열이 줄어듦
console.log(arr.shift()); // 3 출력
console.log(arr); // [] 출력 - 배열이 비어 있음
}
func([1, 2, 3]);
보시다시피, shift 메서드는
배열의 첫 번째 요소를 추출하여 반환하고,
배열 자체는 해당 요소만큼 줄어듭니다.
이제 재귀를 사용해 보겠습니다:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
물론, 배열 요소를 반복하는 가장 쉬운 방법은 루프를 사용하는 것입니다. 제시된 예시들은 단순히 (실제 생활 예시가 아닌) 간단한 사례를 통해 재귀의 동작을 보여주기 위한 것입니다. 재귀의 더 유용한 적용 예시들은 조금 더 복잡하며, 이에 대해서는 아래에서 조금 후에 살펴보겠습니다.
다음 배열이 주어졌습니다:
let arr = [1, 2, 3, 4, 5];
재귀를 사용하여 이 배열의 요소들을 콘솔에 출력하세요.