标题准确描述了我遇到的问题。目前我的代码正在尝试将数字作为字符串,将其拆分为数组,将它们解析为整数然后将它们相加。如果得到的整数多于一个数,那么该函数应该以新的总和再次开始,直到总和为一位数,然后返回它。
function digital_root(n) {
var sum = ("" + n).split('').map(function(item){return parseInt(item)}).reduce(getSum);
if (sum.toString().length > 1) {
digital_root(sum)
}
if (sum.toString().length === 1){ return sum}
}
当函数传递16时,它会愉快地返回7,将1和6加在一起。但是,当调用数字根时,将返回undefined。但是当我在console.log时,一切似乎都很好。我错过了什么?