I’ve completed the introductionary JavaScript course and decided to continue with the challenges to practice my skill. I found out that I need it! Case in point this finalGrade() assignment. I know I can make this assignment better by having the code stop when it encounters an illegal grade before calculating averages, but it should work the other way around, even though this code of mine is bulkier.
This code returns an unusual error message that I cannot trace to the code. The error message being:
/home/ccuser/workspace/js-challenge-final-grade/main.js:32
});
^
The problem seems obvious, I need to remove a bracket ) but I cannot find it! The code in question:
function finalGrade (grade1, grade2, grade3) {
let averageGrade;
if((grade1 >= 0 && grade1 <= 100) ||
(grade2 >= 0 && grade2 <= 100) ||
(grade3 >= 0 && grade3 <= 100)) {
averageGrade = ((grade1 + grade2 + grade3)/3);
if (averageGrade >= 0 && averageGrade <= 59) {
return 'F';
} else if (averageGrade >= 60 && averageGrade <= 69) {
return 'D';
} else if (averageGrade >= 70 && averageGrade <= 79) {
return 'C';
} else if (averageGrade >= 80 && averageGrade <= 89) {
return 'B';
} else if (averageGrade >= 90 && averageGrade <= 100) {
return 'A';
} else {
return 'You have entered an invalid grade.';
}
};
By the way, if anyone can explain why and/or if it’s better to start a function with const or function, that would be appreciated too.