从另一个数组返回带有阶乘数的数组

squ*_*ave 0 javascript arrays recursion

此函数将接收一个正整数数组,它应返回一个新数组,其中包含每个数字的阶乘.

到目前为止,我想出了这个,但它不起作用,我不知道问题出在哪里,有什么想法吗?

function getFactorials (nums) {
  let arr = [];
  for(let i = 0; i < nums.length; i++) {
    if(nums[i] <= 1) {
      return 1;
     } else {
      arr.push(nums[i] * getFactorials(nums[i] - 1));
     }
   }
  return arr;
 }
Run Code Online (Sandbox Code Playgroud)

Aru*_*esh 6

试试这个使用地图

var a = [1, 2, 3, 4, 5];

function fact(x) {
   return (x == 0) ? 1 : x * fact(x-1);
}

console.log(a.map(fact));
Run Code Online (Sandbox Code Playgroud)