我在编写将因数分解的函数时遇到了一个小问题。困难的部分已经完成。但是我似乎无法告诉该函数在num为0时返回1。
PS:您还可以通过其他哪些方式使用JavaScript编写相同的函数?
var arrOfNum = [];
function factorialize(num) {
for(i = 1; i <= num; i++){
// push all numbers to array
arrOfNum.push(i);
}
// multiply each element of array
var result = arrOfNum.reduce(function(a,b){
return a * b;
});
console.log(result);
}
最佳答案
您已经有一个for
循环,您可以在其中立即计算阶乘,而无需数组和归约。
function factorial(num) {
var result = 1;
for(i = 2; i <= num; i++) {
result *= i;
}
return result;
}
关于javascript - 分解函数javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36219647/