我是 JavaScript 新手,目前正在学习如何借助 for 和 while 循环在控制台中打印消息。
我只是想打印从一个简单的三角形开始的图案,我为此编写了以下程序。
for (let i = 1; i <= 5; i =i+1)
{
for(let j=0;j<=i; j=j+1)
{
console.log("#");
}
}
这是我当前需要的输出。
#
##
###
####
#####
但是当脚本运行时,浏览器会将相似的项目分组为一个。
控制台显示如下输出:
`21 #`
我尝试取消选中设置中的组相似项目,并打开时间戳,但我无法获取模式。我该如何解决这个问题?
console.log() 每次调用时都会在控制台上打印一个新条目。对于你想做的事情,你应该尝试这个:
for (let i = 1; i <= 5; i =i+1)
{
console.log("#".repeat(i));
}
您遇到的问题是由于
console.log
函数在 JavaScript 中的工作方式造成的。每次调用 console.log
都会在控制台中输出一个新行,这就是为什么您会在单独的行上看到每个 #
。要创建您想要的图案,您需要为三角形的每一行构建一个字符串,然后打印该字符串。您可以通过以下方式修改代码来实现此目的:
for (let i = 1; i <= 5; i++) {
let row = '';
for (let j = 0; j < i; j++) {
row += '#';
}
console.log(row);
}
在代码的此修订版本中,内部循环 (
for (let j = 0; j < i; j++)
) 通过连接 row
字符构造字符串 #
。添加到 #
的 row
字符数由外循环中 i
的当前值确定。内部循环完成 i
的每次迭代后,row
字符串(现在包含 i
个 #
个字符)被打印到控制台。
这将产生输出:
#
##
###
####
#####
每一行对应于外循环的一次迭代,内循环确定每行中有多少个
#
字符。这种方法可确保整个图案在控制台中正确打印。