Review JavaScript Fundamentals by Building a Gradebook App - Step 1

Tell us what’s happening:Preformatted text

I believe I have everything correct but I don’t understand why my code is only giving me the first number in the array and not all the numbers in the array added together. Where am I going wrong?

Your code so far


// User Editable Region

function getAverage(scores) {
let sum = 0
for(let i = 0; i < scores.length; i++){
  const totalScore = scores[i] + sum;
  const average = totalScore / scores.length;
  return average
}
}

console.log(getAverage([92, 88, 12, 77, 57, 100, 67, 38, 97, 89]));
console.log(getAverage([45, 87, 98, 100, 86, 94, 67, 88, 94, 95]));

// User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 1

Welcome to the forum @tracy.johnson592

You are returning the average inside the for loop, so it will only return the first iteration.

Happy coding

There’s a few mistakes in here. Let’s start with most basic ones.

  1. The variable sum is constantly zero and never assigned a value.
  2. You are dividing the total score by the length of the total score every iteration rather than dividing the sum at the end.
  3. The total score should not be a constant , and it should not be defined inside the for loop where the addition is occurring.
  4. Lastly you are returning inside the for loop which would cause the loop to only run once.

Don’t be discouraged though. Take a deep breathe and try again.

Happy coding. :slight_smile: