[英]How to print '*' pattern printing using JavaScript loop?
我正在学习 Javascript 中的循环。
我需要这样的输出:
*
**
***
****
*****
但是,当我使用此代码时:
for (i = 1; i <= 5; i = i + 1) { for (j = 0; j < i; j = j + 1) { console.log('*'); } console.log(""); }
我得到这样的输出:
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
我该如何解决这个问题?
在 JS 中,每个console.log()
都打印在新行上。 所以你必须保留一个你不断添加的字符串。 然后打印它:
for (i = 1; i <= 5; i = i + 1) { let str = ""; for (j = 0; j < i; j = j + 1) { str += "*"; } console.log(str); }
您不需要第二个循环。 您可以通过使用 1 循环和重复方法来实现结果。
for(i=1;i<=5;i=i+1){
console.log('*'.repeat(i));
}
根据@trincot 编辑。 谢谢。
在 JavaScript 中, console.log()
在新行上打印输出,因此您需要连接字符串中的所有星星并打印它。
const printPattern = (count, symbol) => { for (let i = 1; i <= count; i++) { console.log(symbol.repeat(i)); } }; printPattern(5, '*');
另一种方法是使用[...Array(n).keys()]
获取范围 0-4,然后将此范围映射到不同长度的星形字符串,然后您可以使用换行符连接。
console.log([...Array(5).keys()].map(i => "*".repeat(i + 1)).join("\n"))
for (i = 1; i <= 5; i = i + 1) { let str = ""; for (j = 1; j <= i; j = j + 1) { str += j; } console.log(str); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.