You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求编写生成等边三角形的JavaScript循环代码(修复现有代码)

修正JavaScript等边三角形生成代码

你的代码存在三个核心问题,导致无法生成正确的等边三角形:

  • 内层循环错误输出固定值i而非循环变量,前半部分数字重复;
  • 第三个循环的变量范围设置错误,无法生成对称的后半部分序列;
  • 空格与数字后的填充长度不统一,导致排版错位。

以下是修正后的代码,能生成对称对齐的数字等边三角形:

const totalLayers = 5;
// 统一每个元素的宽度,确保整体对齐
const elementWidth = 4;

for (let i = 1; i <= totalLayers; i++) {
  let line = '';
  // 生成每行前面的缩进空格
  for (let j = 1; j <= totalLayers - i; j++) {
    line += ' '.repeat(elementWidth);
  }
  // 从当前层数i递减到1
  for (let k = i; k >= 1; k--) {
    line += k.toString().padEnd(elementWidth);
  }
  // 从2递增回当前层数i,形成对称结构
  for (let l = 2; l <= i; l++) {
    line += l.toString().padEnd(elementWidth);
  }
  console.log(line);
}

运行后输出效果:

1    
      2   1   2    
    3   2   1   2   3    
  4   3   2   1   2   3   4    
5   4   3   2   1   2   3   4   5    

如果需要调整三角形大小,修改totalLayers的值即可;调整元素宽度则修改elementWidth,只要保证所有元素宽度一致,就能维持等边对齐的效果。

内容的提问来源于stack exchange,提问作者Nugraha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 08:30:49