您好!欢迎访问家园网-www.jy.wang!

家园网

js代码实现金字塔形*号5层排列

网络 作者:本站 点击:

js代码实现金字塔形*号5层排列

script>
        var start = function (n) {
            for (var i = 1; i <= n; i++) {
                for (var j = 1; j <= n - i; j++) {
                    document.write("&nbsp;");
                }
                for (var j = 1; j <= i; j++) {
                    document.write("*&nbsp;");
                }
                document.write("<br>");
            }
        }
        start(5);
    </script>

代码解析


这段代码实现的是‌5层金字塔形排列‌。它通过三层嵌套逻辑来控制空格和星号的输出,逐行构建出一个居中对齐的三角形。

核心实现原理

start(5) 调用后,外层循环 i 从 1 到 5,控制总共输出 5 行。每一行内部,先执行第一个内层循环打印空格,再执行第二个内层循环打印星号。

空格控制:实现居中对齐

第一个内层循环 for (var j = 1; j <= n - i; j++) 负责在星号前输出空格。当 n=5 时:

  • 第 1 行(i=1):n-i=4,输出 4 个 &nbsp;

  • 第 2 行(i=2):n-i=3,输出 3 个 &nbsp;

  • 第 3 行(i=3):n-i=2,输出 2 个 &nbsp;

  • 第 4 行(i=4):n-i=1,输出 1 个 &nbsp;

  • 第 5 行(i=5):n-i=0,不输出空格

随着行数增加,空格数量递减,星号整体向右偏移量逐渐减小,形成居中的视觉效果。

星号控制:逐行递增

第二个内层循环 for (var j = 1; j <= i; j++) 负责输出星号,每行输出 i 个 *&nbsp;(星号后跟一个空格,让星号之间保持间距)。第 1 行 1 个,第 2 行 2 个,以此类推到第 5 行 5 个。

换行控制

每行空格和星号输出完毕后,document.write("<br>") 插入一个换行标签,使下一行内容另起一行显示。

最终效果

在浏览器中渲染后,你会看到这样的图案:

    * 
   * * 
  * * * 
 * * * * 
* * * * *

第 1 行前面有 4 个空格,星号居中;第 5 行前面没有空格,星号从最左侧开始。整体呈现出一个左对齐的直角三角形,但由于每行星号前空格递减,视觉上形成了金字塔般的对称效果。

标签: