我正在尝试编写一个函数以返回反向直角三角形,但是我在弄清楚我要去哪里的地方时遇到了麻烦。
function triangle(num) {
let star = ""
for (let i = num; i >= 1; i--) {
for (let j = num; j >= 1; j--) {
star += "*" + "\n"
}
}
return star
}
console.log(triangle(6));
我的问题是我无法使整个函数以反向三角形的形式返回*字符串。我相信我在错误的位置也炮制了'\ n',但我不确定将其更改为何处。
我收到这个:
console.log(triangle(6));
************************************
我应该收到这个:
console.log(triangle(6));
"******\n*****\n****\n***\n**\n*"
我应该将\ n连接到字符串输出。
-这是我遇到的问题-
我认为这是你想要的:
function triangle(num) {
let star = ""
for (let i = num; i >= 1; i--) {
for(let j = i; j >= 1; j--) {
star += "*"
}
if(i !== 1) {
star += "\\n"
}
}
return star
}
console.log(triangle(6));
在此处查看示例:https://codepen.io/bj-rn-nyborg/pen/gOwOdxR
我移动+"\n"
到外环,并且也被初始化let j = i
,而不是num
如何创建可运行的堆栈代码段?
只需发布可执行的js代码。example您示例中的代码也是一个可运行的代码段。
这个固定使其变成三角形,但是我仍然需要整个字符串内的东西。
我已经更新了Codepen。现在,它还将三角形作为字符串写入DOM:codepen.io/bj-rn-nyborg/pen/gOwOdxR
\ n是一个隐藏的字符,它已经在我构建的代码中。这就是导致换行的原因。如果您想将其显示为字符串,则只需对其进行转义即可,您可以使用反斜杠来实现它,如下所示:
star += "\\n"
我也更新了代码笔。😊