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

JavaScript에서 감소 및 범위를 사용하여 계승 함수를 작성하는 방법은 무엇입니까?

<시간/>

다른 도우미 함수 range()의 도움을 받는 JavaScript 계승 함수를 작성해야 합니다.

범위 함수는 1에서 입력 숫자까지의 범위를 준비해야 합니다. 그런 다음 주 함수는 계승을 계산하기 위해 범위 배열에 대해 Array.prototype.reduce() 함수를 실행해야 합니다.

예시

이에 대한 코드는 -

const range = (start, end) => {
   const acc = [];
   for (var i = start; i < end; i++) {
      acc.push(i);
   };
   return acc;
}
const factorial = n => {
   let factors = range(1, Math.abs(n)+1);
   let res = factors.reduce((acc,val) => {
      return acc * val;
   }, 1);
   if(n < 0){
      res *= -1;
   };
   return res;
};
console.log(factorial(5));

출력

콘솔의 출력은 -

120