gpt4 book ai didi

javascript - 如何使用另一个函数创建一个函数来输出与javascript中的字符一样多的行? Ex : 4 lines of 4 "#". 基本上是一个正方形

转载 作者:行者123 更新时间:2023-12-02 21:52:53 25 4
gpt4 key购买 nike

学习javascript中的函数。提示是首先创建一个名为makeLine的函数,然后在制作makeSquare函数时使用makeLine函数。这是我的 makeLine 代码

function makeLine(size){
for (let i = 0; i < size - 1; i++){
hash= hash[i] + hash;
}
console.log(hash);
}

我一直在尝试让 makeSquare 函数使用 makeLine 函数,并且可以让它显示 16 #,但只能全部位于同一行。当我尝试使用 console.log 和\n 时,控制台打印出未定义。

function makeSquare(squareSides){
makeLine(squareSides*squareSides);

}

makeSquare(4);

我想要实现的输出

####
####
####
####

这只是我一直在玩的东西的骨架。我已经尝试了一百万种不同的组合,但这是我获得正确数量的 # 的唯一方法。我确信这对于任何有经验的人来说都很简单,但我遇到了困难,接下来的练习都取决于对这一点的理解。我看到的所有与此相关的代码都超出了我的理解范围,也超出了我们到目前为止所学到的技能。

最佳答案

这是我对 makeLine()makeSquare() 的建议:

function makeLine (sideLength) {
return '#'.repeat(sideLength);
}

function makeSquare (sideLength) {
return Array(sideLength).fill(makeLine(sideLength)).join('\n');
}

console.log(makeSquare(16));

注意,我使用 Array(count) 创建一个 count 长度的数组,然后使用 fill() 填充它带有一个值,然后使用 join() 将数组转换为字符串,指定一个字符来连接值。

makeSquare() 的替代方法是使用 repeat(),尽管您需要一个 \n 字符和一个trim() 清理最后一个:

function makeSquare (sideLength) {
const line = makeLine(sideLength) + '\n';
return line.repeat(sideLength).trim()
}

关于javascript - 如何使用另一个函数创建一个函数来输出与javascript中的字符一样多的行? Ex : 4 lines of 4 "#". 基本上是一个正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60085432/

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