Review JavaScript Fundamentals by Building a Gradebook App - Step 3

Tell us what’s happening:

What is wrong ? it works but it won’t let me 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) {
  const passingGrades = ["A++", "A", "B", "C", "D"];
  return passingGrades.includes(score);
}



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

// User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 3

hi there,

I think you misunderstood what hasPassingGrade is supposed to do.
You are treating it like a function that takes a letter grade as input.
BUT it is actually a function that takes a number grade as input.

(if you click the reset button , you will see examples of how the hasPassingGrade is expected to be called with numbers, not letters)

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