如何使用Javascript结合For循环创建多个星形金字塔
JavaScript 对称星形金字塔For循环实现方案
期望输出效果:
* * * * * * * * * * * *
现有代码问题说明
- 中间区域没有输出留白空格,反而嵌套了多余的星号打印循环,会出现大量冗余星号
- 星号、空格的数量没有和当前行数动态绑定,无法随行数变化调整布局
实现逻辑
每一行可以拆分为三个固定模块,随行数i动态调整各模块长度:
- 左侧星号区:每行输出i个
*(星号加空格) - 中间留白区:每行输出
2*(总层数 - i)组空格,实现上下对齐效果 - 右侧星号区:和左侧星号区内容一致,每行输出i个
*
可运行代码
如果你是在浏览器环境运行,直接使用以下代码:
// 可修改totalLine的值调整金字塔行数 const totalLine = 3; for(let i = 1; i <= totalLine; i++){ // 打印左侧星号 for(let left = 1; left <= i; left++){ document.write("* "); } // 打印中间空白 for(let space = 1; space <= 2 * (totalLine - i); space++){ document.write(" "); } // 打印右侧星号 for(let right = 1; right <= i; right++){ document.write("* "); } document.write("<br>"); }
如果你是在Node.js/控制台环境运行,将 替换为普通空格 即可。
内容的提问来源于stack exchange,提问作者Nishant
相关产品推荐
相关产品推荐

