首页 新闻 会员 周边 捐助

用递归将一串数字倒叙输出

1
悬赏园豆:60 [待解决问题]

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
var sum = 0;
function xx(n){
if(parseInt(n/10)==0){
return sum = sum10 + n;
}else if(parseInt(n/10) !==0){
sum = sum
10 + n%10;
parseInt(n/=10);
return xx;
}
}
console.log(xx(515654));
</script>

</body>
</html>

这个运行结果总是undefined. 不知道为什么?求大神讲解

星星0828的主页 星星0828 | 初学一级 | 园豆:52
提问于:2019-04-23 19:55

你的sum10 是什么鬼?

极客公园 5年前

@极客公园: 打错了……

星星0828 5年前

@极客公园: 这个乘号这里不现实。打出来运行也是错的

星星0828 5年前
< >
分享
所有回答(2)
0
var sum = 0;
function xx(n){
if(parseInt(n/10)==0){
sum = sum*10 + n%10;
console.log(sum);
return sum;
}else if(parseInt(n/10) !==0){
sum = sum*10 + n%10;
n = parseInt(n/=10);
return xx(n);
}
}

n = parseInt(n/=10);
return xx(n);

else 改成这样就行了, parseInt(n/=10) 你调用了但没把结果赋值给n 同时 return xx; 没有调用这个方法 正确写法应该是 return xx(n);这样才能够成循环

极客公园 | 园豆:95 (初学一级) | 2019-04-24 10:06
0

是要这个结果吗:

<script type="text/javascript">
    var sum = 0;
    function xx(n) {
        if (parseInt(n / 10) == 0) {
            return sum = sum * 10 + n;
        } else if (parseInt(n / 10) !== 0) {
            sum = sum * 10 + n % 10;
            return xx(sum);
        }
    }
    console.log(xx(515654));
</script>
三人乐乐 | 园豆:4823 (老鸟四级) | 2019-04-24 13:12

我已经改正了。谢谢

支持(0) 反对(0) 星星0828 | 园豆:52 (初学一级) | 2019-04-24 14:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册