Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

I don’t know why my if condition statement isn’t working

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";
  }
}

function hasPassingGrade(score) {
  return getGrade(score) !== "F";
}


// User Editable Region

function studentMsg(totalScores, studentScore) {
if (getGrade(studentScore) !== "F") {
  return "Class average: " + getAverage(totalScores) + ".Your grade: " + getGrade(studentScore) + ". You passed the course.";
} else {
  return "Class average: " + getAverage(totalScores) + ". Your grade: " + getGrade(studentScore) + ". You failed the course.";
}
}
console.log(studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37));

// 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/126.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

The first is your output, the second is the expected

Class average: 50.8.Your grade: A++. You passed the course.
Class average: 50.8. Your grade: A++. You passed the course.

there is spacing differencies

In addition to the previous comment, you should not use getGrade here because you already have a function hasPassingGrade that you can use to do this check

I get the same result if I use hasPassingGrade. It’s as if the condition in my if is not being checked

Please share your updated code

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