Прежде всего, создайте рекурсивную функцию, которая вычисляет факториал одного числа:
function factorial(num) {
if (num == 0 || num == 1) {
return 1;
}
return num * factorial(num - 1);
}
Затем, чтобы сделать это для массива, просто используйте Array.prototype.map()
следующим образом:
function getFactorials(arr) {
var result = arr.map(x => factorial(x));
return result;
}
Вот демонстрация:
function factorial(num) {
if (num == 0 || num == 1) {
return 1;
}
return num * factorial(num - 1);
}
function getFactorials(arr) {
var result = arr.map(x => factorial(x));
return result;
}
console.log(getFactorials([4, 8, 10]));
console.log(getFactorials([]));
console.log(getFactorials([1, 2, 3, 4, 5]));
Надеюсь, это поможет!