我正在尝试编写一个函数来生成所提供整数的阶乘,然后减少阶乘数组(通过乘以每个数组元素)。
例如:
因子(5) >>> [1, 2, 3, 4, 5] >>> 1 * 2 * 3 * 4 * 5 >>> 120
var array = [ ];
function factor(num) {
for (i = 1; i <= num; i++) {
array.push(i);
}
array.reduce(function(a, b) {
return a * b;
})
};
factor(5);
但是,它总是返回 undefined。
我认为这与函数的格式有关,但我不确定。
最佳答案
尝试为reduce传递初始值
,
array.reduce(function(a, b) {
return a * b;
},1);
同时从函数
返回数组
的缩减值,
function factor(num) {
for (i = 1; i <= num; i++) {
array.push(i);
}
return array.reduce(function(a, b) {
return a * b;
},1)
};
console.log(factor(5));
关于javascript - 使用 .reduce() 对数字进行因式分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35780803/