Learn Modern JavaScript Methods by Building Football Team Cards - Step 29

Tell us what’s happening:

i have tried many times but it still cannot work , someone can help me

Your code so far

<!-- file: index.html -->

/* file: styles.css */

/* file: script.js */
// User Editable Region


  playerCards.innerHTML += arr.map(
    ({ name, position, number, isCaptain, nickname }) => {
      `
        <div class="player-card">
        
          <h2>${name} ${isCaptain} ? : "(Captain)" : " ";</h2>
        </div>
      `;
    }
  );


// User Editable Region

Your browser information:

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

Challenge Information:

Learn Modern JavaScript Methods by Building Football Team Cards - Step 29

This will only evaluate isCaptain in your embedded expression ${} and consider
? : "(Captain)" : " "; as text in your <h2> element.

You should include the whole ternary statement into that expression to evaluate.

Note that you should use empty string "" not a space " ".
And there is no : after your ? in a ternary operator syntax.
The same for that secmicolon at the end ;.

(condition) ? ifTrue : ifFalse

After that, you should move the whole expression before your ${name} as the challenge says:

Before the ${name} expression, add a new embedded expression. Inside that expression, use a ternary operator to check if isCaptain is true. If so, return "(Captain)" otherwise return an empty string.

1 Like

I solved it!!! Because yesterday i did many coding pratical so i was a little confused LOL, but thank you so much :heart:

1 Like