如何制作倒三角图案?现有JS代码输出与预期不符求助
倒三角图案代码修正方案
你当前的代码输出的是左对齐的星号倒三角(从10个星逐行减到1个),如果你的预期是右对齐的倒三角(每行前补空格,整体呈三角形态),问题出在缺少空格拼接的步骤,以下是修正后的代码:
var stars = ''; const totalRows = 10; for (var i = totalRows; i > 0; i--) { // 拼接当前行前置空格 for (var j = 0; j < totalRows - i; j++) { stars += ' '; } // 拼接当前行星号 for (var k = 0; k < i; k++) { stars += '*'; } stars += '\n'; } console.log(stars);
代码逻辑说明
- 外层循环控制总行数,从10递减到1,对应倒三角的每一行
- 第一个内层循环:根据当前行的星号数量计算需要的空格数(
totalRows - i),比如第1行(10个星)无空格,第2行(9个星)补1个空格,以此类推实现右对齐 - 第二个内层循环:拼接对应数量的星号
- 每行结束后添加换行符,保证每行内容单独显示
如果你的预期是其他样式的倒三角(比如空心倒三角、带分隔符的倒三角),可以补充具体需求后再调整代码。
内容的提问来源于stack exchange,提问作者vidi pratama
相关产品推荐
相关产品推荐

