Learn Introductory JavaScript by Building a Pyramid Generator - Step 100

Tell us what’s happening:

Because you are going to loop in the opposite direction, your loop needs to run while i is greater than 0. You can use the greater than operator > for this.

Set your loop’s condition to run when i is greater than 0.

Your code so far

const character = "#";
const count = 8;
const rows = [];

function padRow(rowNumber, rowCount) {
  return " ".repeat(rowCount - rowNumber) + character.repeat(2 * rowNumber - 1) + " ".repeat(rowCount - rowNumber);
}

// TODO: use a different type of loop
/*for (let i = 1; i <= count; i++) {
  rows.push(padRow(i, count));
}*/

/*while (rows.length < count) {
  rows.push(padRow(rows.length + 1, count));
}*/


// User Editable Region

for (let i = count; i > 0; i--; false; false) {

}

// User Editable Region


let result = ""

for (const row of rows) {
  result = result + row + "\n";
}

console.log(result);

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0

Challenge Information:

Learn Introductory JavaScript by Building a Pyramid Generator - Step 100

this is not correct syntax for a loop, 5 statements are too much

Hi there, welcome to the community! :blush:

A for loop follows this structure:

for (initialization; condition; afterthought) {
  // Code to execute
}

But your loop has five parts, which is not valid. A for loop should only have three sections. sSo, According to the lesson:

Because you are going to loop in the opposite direction, your loop needs to run while i is greater than 0 . You can use the greater than operator > for this.

So you only need to add the condition part, no extra elements needed. Please recheck the lesson and update your code accordingly.