Here is the code to display pyramid but its not exactly producing required output.
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);
}
}
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 *********
Shorter way
function generatePyramid(n) {
var output="";
for (var i = 1; i <= n; i++) {
output += i + " ";
console.log(output);
}
}
generatePyramid(5);
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);
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);
}
}
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);