gpt4 book ai didi

javascript - 计算递归函数中变量的结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:17 26 4
gpt4 key购买 nike

我已经编写了打印楼梯算法。给定 n 的函数打印楼梯 n 级。

    var i = 1;
function printStaircase(n) {
//Base case
if (n < 1) return n;
//Recursive case
var line = '';
line += ' '.repeat(n - 1);
line += '*'.repeat(i);
console.log(line);
i++;
return printStaircase(n - 1);
}

printStaircase(10);

如您所见,我必须从外部传入 i 变量。我想知道如何在函数体内计算 i 的值时完成,以便它是独立的并且不会从全局范围内获取任何东西

最佳答案

递归 super 有趣-

const chars = (c = "") => (n = 0) =>
n === 0
? ""
: c + chars (c) (n - 1)

const spaces =
chars (" ")

const stars =
chars ("*")

const newline =
"\n"

const stairs = (n, m = n - 1) =>
m <= 0
? ""
: spaces (m)
+ stars (n - m)
+ newline
+ stairs (n, m - 1)

console .log (stairs (10))

console .log (stairs (4))

关于javascript - 计算递归函数中变量的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56533252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com