gpt4 book ai didi

javascript - 使用 .map 对数组中的所有数字进行因式分解

转载 作者:搜寻专家 更新时间:2023-11-01 05:08:47 24 4
gpt4 key购买 nike

我有一个数字数组,例如[2, 4, 5] 并且必须在新数组中获取阶乘。例如。 [2, 24, 120]

如您所见,我正在使用 .map 对数组中的每个整数执行函数,但是,这不起作用吗?我假设递归函数有问题?

谢谢。

function getFactorials(nums) {

if(nums > 1){
factarr = nums.map(x => x * (nums - 1));
}

return factarr;
}

最佳答案

您可以为阶乘取一个函数并映射值。

该函数具有递归风格,可检查值。如果值为零,则函数以一退出。否则返回实际值与函数调用结果的乘积。

检查使用 falsy 的隐式转换为 conditional (ternary) operator ?: 的 bool 值.

const fact = n => n ? n * fact(n - 1) : 1;

var array = [2, 4, 5],
result = array.map(fact);

console.log(result);

关于javascript - 使用 .map 对数组中的所有数字进行因式分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57460809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com