Review JavaScript Fundamentals by Building a Gradebook App - Step 3

Tell us what’s happening:

I don’t know how to get the last one to display true. Can someone help me?

Your code so far

function getAverage(scores) {
  let sum = 0;

  for (const score of scores) {
    sum += score;
  }

  return sum / scores.length;
}

function getGrade(score) {
  if (score === 100) {
    return "A++";
  } else if (score >= 90) {
    return "A";
  } else if (score >= 80) {
    return "B";
  } else if (score >= 70) {
    return "C";
  } else if (score >= 60) {
    return "D";
  } else {
    return "F";
  }
}


// User Editable Region

function hasPassingGrade(score) {
  const pass = ["A++", "A", "B", "C", "D"]
if (getGrade(score) <= pass) {
  return true
} 
  return false
}


console.log(hasPassingGrade(100));
console.log(hasPassingGrade(53));
console.log(hasPassingGrade(87));

// User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 3

Can you compare to an array like that?

If I’m being honest, I don’t know what i’m doing. If it isn’t much trouble could you please give me like some hints?

I did give you a hint though?

What is that comparison intended to do? You can only compare numbers with <= so you need a different approach here.

My apologies, I guess I didn’t catch on.

Maybe instead of the string on the letter grade I could use a number grade?

Sure, or you can approach it from the other side. What is the only failing grade?

Oh, I get it, so if it’s like one against everything else, just create a variable with that one thing.

Thank you!

1 Like