Review JavaScript Fundamentals by Building a Gradebook App - Step 3

Tell us what’s happening:

I think my code is right but I am not passing because of this “Your hasPassingGrade function should return false if the grade is an “F”.”

but else if (getGrade(score <= 60)) should do it

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) {
  if(getGrade(score >= 60)){
    return true;
  } else if (getGrade(score <= 60)) {
    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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 OPR/109.0.0.0

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 3

The function getGrade is expecting you to pass it a number. But here you are passing it a Boolean.

is 60 not the number?
are you talking about the return

To pass a number you would need to pass something like this getGrade(60).

But that also would be wrong for this program as getting the equivalent letter grade for 60 is not useful in this function. Think about it, what number do you have in the current function that should be passed to getGrade?

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.