如何使用Javascript显示金字塔?

nid*_*ida 5 javascript for-loop cordova

这是显示PYRAMID但不完全生成所需输出的代码.

function generatePyramid() {
    var totalNumberofRows = 5;
    var arr = new Array();
    for (var i = 1; i <= totalNumberofRows; i++) {
        for (var j = 1; j <= i; j++) {

            arr.push(j);
            console.log(j);
        }
        console.log("\n");
    }
}
Run Code Online (Sandbox Code Playgroud)

要求的输出

小智 10

请尝试以下代码

function generatePyramid() {
    var totalNumberofRows = 5;
    var output="";
    for (var i = 1; i <= totalNumberofRows; i++) {
        for (var j = 1; j <= i; j++) {
            output+=j + "     ";
        }
        console.log(output);
        output="";
    }
}  
Run Code Online (Sandbox Code Playgroud)


Sag*_*che 8

最简单的解决方案是:-

function pyramid(n) {

 

  for(let i=1; i<= n; i++){

    let str = ' '.repeat(n-i);

    let str2 = '*'. repeat(i*2 -1)

 

    console.log(str + str2 + str);

  }

}

pyramid(5);
Run Code Online (Sandbox Code Playgroud)


小智 7

这可以使用单个for循环完成.

var num = "";
var size = prompt("Enter the size of the pyramid");
for(var i=1; i<=size; i++)
{
  num = num + i
  console.log(num);
}
Run Code Online (Sandbox Code Playgroud)

  • 金字塔不应该是直角三角形。 (2认同)

Pra*_*mar 7

**您可以为任何模式构建循环条件,给定它可以是三角形、直角三角形、倒三角形等。有关更多信息,请参阅下面的代码和工作簿图像。PS:在步骤 6 中的工作簿图像中,它是 2 + i 而不是 3+i,因此 j >= 4 - i && j <= 2 + i 对于任意行数 n 公式为: j >= n+1 - i && j <= n - 1 + i **

编辑:在步骤 6 中的工作簿图像中,它是 2+i 而不是 3+i,因此 j >=4 - i && j <=2 +i 对于任何编号。行 'n' 的公式为 j > = n + 1 - i && j < = n - 1 + i

1, 3, 5, 7, 9 =>奇数系列(星星)出现在金字塔图案
1, 2, 3, 4, 5 =>计数器(行数)

对于每个计数器都有(2 * n) - 1

    function pyramid(n) {  // Input or number of rows
        for (var i = 1; i <= n; i++) {
            var s = "";
            // For every each counter there exist 2*n-1 value
            for (var j = 1; j <= (2 * n - 1); j++) {
              // Hint: Check the workbook image
                (j >= n + 1 - i && j <= n - 1 + i) ? s += "*" : s += " ";   
            }
            console.log(s);
        }
    }
    pyramid(5);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

根据您的要求,以下代码应该没问题:

    function generateNumberTriangle(v) {
    for (var i = 1; i <= v; i++) {
        var chars = " ";
        for (var j = 1; j <= v; j++) {
            if (j <= i) { chars += j + "  "; }
        }
        console.log(chars);
    }
}
generateNumberTriangle(7);
Run Code Online (Sandbox Code Playgroud)


Sou*_*ras 6

这将在控制台中创建一个合适的金字塔:

function createPyramid(rows)
{
    for (let i = 0; i < rows; i++) {
        var output = '';
        for (let j =0; j < rows - i; j++) output += ' ';
        for (let k = 0; k <= i; k++) output += '* ';
        console.log(output);  
    } 
}

createPyramid(5) // pass number as row of pyramid you want.
Run Code Online (Sandbox Code Playgroud)


Art*_*oev 5

您应该在每一行迭代中生成一个数组并在最后输出它:

function generatePyramid() {
    var totalNumberofRows = 5,
        arr;
    for (var i = 1; i <= totalNumberofRows; i++) {
        arr = [];
        for (var j = 1; j <= i; j++) {
            arr.push(j);            
        }
        console.log(arr.join(" ") + "\n");
    }
}
Run Code Online (Sandbox Code Playgroud)