我的假設是if語句的第一部分中的返回將打破該函數並返回n,但它會一直給出undefined。如果我console.log n它給了我正確的事情。我錯過了什麼?從函數中返回if語句給出undefined
謝謝大家
function digital_root(n) {
if(n.toString().length === 1){
console.log(n)
return true;
}else{
var digits = (""+n).split("");
thing = digits.reduce((a, b) => Number(a) + Number(b), 0);
digital_root(thing)
}
}
digital_root(942)
因爲你的遞歸沒有返回 – epascarello
你必須在'else'語句中返回一些東西! '返回digital_root(東西);'會做! –
http://stackoverflow.com/q/39321807/5647260 – Li357