Review JavaScript Fundamentals by Building a Gradebook App - Step 3

Tell us what’s happening:

My code returns the expected Boolean value for each call. Yet, it doesn’t pass.

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 (score >= 60) {
    return "true";
  } else if (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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 3

Hi there and welcome to our community!

Your function is not returning a Boolean. It’s returning a string. Remove the quote marks and it will be returning a Boolean.

1 Like

It needs to check if getGrade function returns F or not. Do not compare with numbers. If getGrade(score) returns an “F” then it means hasPassingGrade needs to return false.

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