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)
试试这个使用地图
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)