Learn Introductory JavaScript by Building a Pyramid Generator - Step 113

Tell us what’s happening:

hi, please help can’t figure out whats wrong because the console output looks right,

Your code so far

const character = "#";
const count = 8;
const rows = [];
let inverted = true;

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

// TODO: use a different type of loop

// User Editable Region

for (let i = 1; i <= count; i++) {
if(inverted=true){
  rows.unshift(padRow(i, count));
}
}

// User Editable Region


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

/*for (let i = count; i > 0; i--) {
  rows.push(padRow(i, count));
}*/

let result = ""

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

console.log(result);

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36

Challenge Information:

Learn Introductory JavaScript by Building a Pyramid Generator - Step 113

nvm i got it, theres no need for = true, just use if inverted

there is an other issue, =true is assinging the value true, not checking if the value is true. Pay attention in future! it’s a mistake that would often make things not work

1 Like

ah i think i get it but could you explain how assigning it to be the boolean true val would not check if the val is true?

if you assign the value true to inverted the previous values is lost. You want to check the value of inverted, not overwrite it, if you overwrite it you don’t know what the value was before