javascript - 如何使用递归打印 1 到 5 和 5 到 1......?

标签 javascript jquery

我想按照最短代码行的顺序打印数字 5-0,然后打印数字 0-5。这是我实现的。但是,寻找代码行数较少的任何其他逻辑。期待您的回复。 谢谢,

            <html>
                <body>  
                    <script>
                    var n;
                    function count(n){
                        console.log(n);
                        if(n>=1){
                            return count(n-1);
                        }
                        else{
                            n=1;
                            count2(n);
                        }
                    }
                    function count2(n){
                        console.log(n);
                        if(n<5){
                            count2(n+1);
                        }
                    }
                    count(5);
                    </script>
                </body>
            </html>

最佳答案

您的递归尝试可以这样写:

function count(n, limit=-n){
    console.log(Math.abs(n));
    if (n>limit) count(n-1, limit);
}
count(5);

在非递归版本中,它将是:

function count(n) {
    for (let i = -n; i <= n; i++) console.log(Math.abs(i));
}
count(5);

关于javascript - 如何使用递归打印 1 到 5 和 5 到 1......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54389767/

相关文章:

javascript - react : State not rendering in real time

javascript - jquery页面布局变化优化

javascript 多重下载 pdf ie

javascript - 自动检测设备时区的准确度如何?

javascript - 元素在点 (194, -212) 处不可点击,需要滚动

javascript - 在 JavaScript 中对事件处理程序使用粗箭头语法不起作用

javascript - 在javascript中选择下拉列表时如何显示加载图像

javascript - 当文本框清晰时如何禁用按钮?

jQuery - 通过 $(this) 访问层次结构上五层的父 <li>

javascript - 检查数据是否已存在于对象数组中