Review JavaScript Fundamentals by Building a Gradebook App - Step 4

Tell us what’s happening:

Been stuck your for about two weeks and tried all the possible ways it should be but still not 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(totalScores = getAverage()) {
   "Class average: 71.7. Your grade: F. You failed the course.";
  } else {
    return getGrade();
  }
}
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/137.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 4

This is not the correct approach. Also, getAverage() takes a parameter. Normally, in a conditional, two values are compared but here you are assigning totalScores to getAverage().

Your studentMsg() function should return the message given in the instructions, only it should be dynamic, so that “average-goes-here” and “grade-goes-here” are replaced with the results of calling getAverage() and getGrade(), respectively.

  • Use the getAverage function to get the class average.
  • Use the getGrade function to get the student’s grade.