[Posts in the debugging category need to have the following pieces of information included in order to help other teachers or our moderator team best help you. Feel free to delete everything in brackets before posting your request for debugging help.]
Link to the project or level: https://studio.code.org/projects/applab/IhFpJ7PfaTo99unWETVrVtLUEXgmAcGrXECbhvWEDJI
**What I expect to happen:**in lines 80-86 the student is trying to calculate the average test score
What actually happens: it gets the answer of NAN for the calculation
What I’ve tried: We tried to console log the different variables and they all are numbers, but it doesn’t calculate to a number. Why?
You are looping through the array Assignmentsoutput
summing that into finalgrademultiplier
. Like this:
You problem is <=. Arrays are zero indexed so you go one element too far. That adds undefined
to your calculation which makes is NaN
.
You are also filtering out input that can’t be a number.
You compare the input to "NaN"
and display an error if it is equal. That is a problem. NaN
is a value, "NaN"
is a string. You need to compare to NaN
. You also don’t need to compare it to an empty string. getNumber
never returns a string.
That little mistake lets NaN get into the calculation and that causes the entire calculation to be NaN.
Your nested if-else doesn’t have a default value.
What is the final grade if the average is less than 50?
finalgrademultiplier
is used to sum up the grades. Where is it reset to zero?
This only sets it to zero the first time it is run.
1 Like