书写文字扩展(金字塔)

时间:2018-03-08 08:29:02

标签: javascript html

抱歉我的英语不好。

我需要一个使用循环来打印这种输出的代码:

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

它就像从1到10计数,但它代替数字*显示值。

我做了很多研究但是我找不到合适的东西来制作一个从我想要的任何数字开始计算的循环,并使它看起来像那个输入。

2 个答案:

答案 0 :(得分:0)

在Javascript中,您只需使用一个 for 循环和重复功能:

function pyramid(max, c) {
    r = "";
    for(i=1; i<=max; i++) {
        r = r + c.repeat(i) + "\n";
    }
    return r;
}

console.log(pyramid(10, '*'));

使用:金字塔(长度 char );

var my result = pyramid(10, '*');

答案 1 :(得分:0)

您要完成的任务非常简单。您只需要一个for循环:

  1. 按指定的次数迭代,
  2. 使用String.prototype.repeat创建与行号&amp;
  3. 一样多的星号
  4. 在字符串末尾添加换行符"\n"
  5. 示例:

    &#13;
    &#13;
    /* The function that creates the desired output for as many rows as given. */
    function createOutput(rows) {
      /* Create an empty string. */
      var str = "";
      
      /* Loop [rows] times and add [i] asterisks & a newline to the string each loop. */
      for (var i = 1; i <= rows; str += "*".repeat(i) + "\n", i++);
      
      /* Return the string. */
      return str;
    }
    
    /* Create an output of 5 rows and log it in the console. */
    console.log(createOutput(5));
    &#13;
    &#13;
    &#13;

    备注:

    1. 由于在EcmaScript 6中添加了String.prototype.repeat,因此它可能不适合所有人。如果您遇到此问题,可以使用"*".repeat(i)取代Array(i+1).join("*")

    2. 要在您的应用程序中包含上述代码,您必须:

      • 将其保存在文件中并使用以下内容加载:
        <script src = "file.js" type = "application/javascript"></script>

      • 或使用以下内容将其粘贴到HTML文件中:
        <script type = "application/javascript">[the code]</script>