Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

I don’t know how to fix it or pass
Gives me error of 3. Your studentMsg function should return the correct message based on the student’s score and the class average.

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) {
  return getGrade(score) !== "F";
}

function studentMsg(totalScores, studentScore) {
  const classAverage = getAverage(totalScores);
  const studentGrade = getGrade(studentScore);
  const passed = hasPassingGrade(studentScore);
  
  let message = "Class average: " + classAverage.toFixed(1) + ". Your grade: " + studentGrade + ". ";
  
  if (passed) {
    message += "You passed the course.";
  } else {
    message += "You failed the course.";
  }
  
  return message;
}
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 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Safari/605.1.15

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Hi there!

You didn’t need to round the average, so remove the toFixed() method from message string

1 Like