Burdetiu Samuel :
So I want to return true if myScore
is higher than classScore
average but it keeps returning false. This is what I came up with.
function compareScore(classScore, myScore) {
var classAverage = 0;
for(var i = 0; i < classScore.length; i++){
classAverage = (classAverage / classScore.length) + classScore[i];
};
if(myScore > classScore){
return true;
} else {
return false;
}
}
console.log(compareScore([20,20,20],70))
Maheer Ali :
You need to compare classAverage
not the array classScore
. And also the correct way to calculate average is get sum of array and then divide it by length
of array.
In below case you don't need to use if
else
just simply return
the result of logical operation.
function compareScore(classScore, myScore) {
let classSum = 0;
for(var i = 0; i < classScore.length; i++){
classSum += classScore[i];
};
let classAverage = classSum/classScore.length
return myScore > classAverage;
}
console.log(compareScore([20,20,20],70))
Another way of doing that is to use reduce()
const compareScore = (classScore, myScore) => classScore.reduce((ac, a) => ac + a, 0)/classScore.length < myScore
console.log(compareScore([20,20,20],70))