Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

Review JavaScript Fundamentals by building a Gradebook app. I have no idea which part is wrong here. It says ‘Your studentMsg function should return the correct message based on the student’s score and the class average.’ but it is stated correctly.

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) {
 const classAverage = getAverage(totalScores).toFixed(1);
  const grade = getGrade(studentScore);
  let message = "Class average: " + classAverage + ". Your grade: " + grade + ". You ";
  if (hasPassingGrade(studentScore)) {
    message += "passed the course.";
  } else {
    message += "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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Remove the toFixed function as it was not required.

MOD EDIT: Solution removed.

Hi there and welcome to our community!

It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge.

We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.