How to display pyramid using JavaScript?

前端 未结 22 834
长情又很酷
长情又很酷 2020-11-29 11:45

Here is the code to display pyramid but its not exactly producing required output.

相关标签:
22条回答
  • 2020-11-29 12:22
    function generatePyramid(num) {
      for (var i = 1; i <= num; i++) {
        var arr = [];
        for (var j = 1; j <= i; j++) {
          arr.push(j);
        }
        console.log(arr);
      }
    }
    
    0 讨论(0)
  • 2020-11-29 12:22
    function pyramid() {
        var n = 5;
        var output="";
        for (var i = 0; i <n; i++) {
        var myspace = "";   
        for(let s = 0; s <(n-i-1); s++) {
            myspace += " ";
        }
            for (var j = 1; j <= 2*i + 1; j++) {
                output+="*";
    
            }
            console.log(myspace+output);
            output="";
        }
    }
    

    Output

                *
    VM74:11    ***
    VM74:11   *****
    VM74:11  *******
    VM74:11 ********* 
    
    0 讨论(0)
  • 2020-11-29 12:23

    Shorter way

     function generatePyramid(n) {
            var output="";
            for (var i = 1; i <= n; i++) {
                output += i + " ";
                console.log(output);
            }
        }  
    
        generatePyramid(5);
    
    0 讨论(0)
  • 2020-11-29 12:24

    So many inspiring answers; I like to add mine :)

        let m, o, r, c, pr = (n, x = (n << 1) - 1) => {
            m = (x >> 1) << 0;
            o = '';
            for (r = 0; r < n; r++) {
                for (c = 0; c < x; c++)
                    o += (m - r <= c && m + r >= c) ? "#" : " ";
                o += '\n';
            }
            console.log(o);
        }
    
        pr(5);
        pr(20);
        pr(2);
    
    0 讨论(0)
  • 2020-11-29 12:25

    A fun little solution :)

    //set the value of n here      
    var n = 5;
    generateNumberTriangle(n);
    
    function generateNumberTriangle(n) {
        var width = (2 * n) -1; // Always the case.
        var midpoint = Math.floor(width / 2); // Middle of pyramid.
        let level = ''; // will be reset each level loop
    
        for(var i = 0; i < n; i++) { // Looping through levels
            level = '';
            for(var j = 0; j < width; j++) {
                if(j < midpoint-i || j > midpoint+i) {
                    level += '.';
                } else {
                    level += '#';
                }
            }
            console.log(level);
        }
    }

    0 讨论(0)
  • 2020-11-29 12:25

    Here's a simple solution using ES6 syntax

    function generatePyramid(num) {
      let number = '';
    
      for (let i = 1; i <= num; i++) {
        console.log(number += i);
      }
    }
    generatePyramid(5);
    
    0 讨论(0)
提交回复
热议问题