这是阶乘的简单代码,我已经编写了该函数,并通过循环给出正确的输出,但是最后,它返回undefined。我不知道为什么
function factorial(n){
let value=1;
for(let i=1;i<=n;i++) {
value = i*value;
console.log(value);
}
}
答案 0 :(得分:3)
由于您不从该函数返回任何内容,因此undefined
是其工作的结果。
您需要显式返回值:
function factorial(n){
let value=1;
for(let i=1;i<=n;i++) {
value = i*value;
console.log(value);
}
return value;
}
答案 1 :(得分:2)
您可以使用递归找到阶乘。这是实现。
size()
答案 2 :(得分:0)
这是一个很好的实现:
const factorial = n => n > 1 ? n * factorial(--n) : 1;
您的函数没有return
,因此它返回undefined
;