Review JavaScript Fundamentals by Building a Gradebook App - Step 1

Tell us what’s happening:

I keep getting an average of 0. I’m not sure what is wrong with my code.

Your code so far

let scores = [];
function getAverage(scores) {
  let sum = 0;
  let average = 0;
  console.log(scores);
  for(let i = 0; i < scores.length; i++) {
    let sum = sum + scores[i];
  }
    average = sum / 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

let scores = [];
function getAverage(scores) {
  let sum = 0;
  let average = 0;
  console.log(scores);
  for(let i = 0; i < scores.length; i++) {
    let sum = sum + scores[i];
  }
    average = sum / 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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36

Challenge Information:

Review JavaScript Fundamentals by Building a Gradebook App - Step 1

This shouldn’t be here. It is shadowing the function parameter.

Why are you re-declaring sum here?

Ah! Thank you, I think I initially only declared sum inside the for loop and forgot to take it out.

1 Like