【发布时间】:2021-04-15 00:25:41
【问题描述】:
下面的javascript函数只返回undefined
function digital_root(n) {
var x = String(n).split('');
if (x.length > 1) {
sum = x.reduce((accumulator, value) => parseInt(value) + accumulator, 0);
digital_root(sum);
} else {
console.log(x);
return x;
}
}
但是在节点中运行时它会打印正确的值。那么为什么返回 undefined 呢?
> digital_root(12)
[ '3' ]
undefined
如果我取出console.log(x) 语句,函数仍然返回未定义
> digital_root(12)
undefined
【问题讨论】:
-
if true 分支中的 return 语句在哪里?
-
@MarianTheisen 你是对的,这就是问题所在。我没有意识到我也需要一个退货声明。
标签: javascript