이 문제를 쉽게 해결하려면 재귀함수를 알아야 한다.
const countdown = n => {
if (n === 0) return;
countdown(n-1);
}
재귀함수는 다음과 같이 함수 내에서 자기 자신을 호출하는 것을 말한다. 대신 이렇게 하기 위해서는 함수가 종료될 수 있는 조건을 내부에 적어줘야 한다.
이제 팩토리얼 함수를 만들어보자.
input 값부터 시작해서 1씩 감소시킨 값을 모두 곱해주면 된다. 정지 조건은 n=1일 때 이다.
const factorial = n => {
return n > 1 ? factorial(n-1) * n : 1;
}