猿问

给出一个非负整数num,反复将所有位置上的数字相加,直到得到一个一位整数。

<script>
    function getOne(num){        var strArr=String(num).split('');        var sum=strArr.reduce(function(init,item){
            init=init+Number(item);            return init;
        },0);        if(sum<10){            return sum;
        }else{
            getOne(sum);
        }
    }    console.log(getOne(343));</script>

想问一下为什么最后打印出来的结果是undefined


暮色呼如
浏览 885回答 1
1回答

德玛西亚99

少了个return&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;getOne(num){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;strArr=String(num).split('');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;sum=strArr.reduce(function(init,item){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init=init+Number(item);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;init; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(sum<10){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;sum; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;getOne(sum);&nbsp;//&nbsp;这里少了个return &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;console.log(getOne(343));
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答