I have array of 1, 1, 1, the function of average calculation is ok, bet if I add new digit to array, for example 1 and use function recalcAverage so I get the answer 7.75 - what is wrong? HTML:
<div id="cube">
<div>ARRAY IS</div>
<div id="grades"></div>
</div>
<div id="button">
<button onclick="addGrade()">Add grade</button>
</div>
<div id="cube2">
<div>AVERAGE IS</div>
<div id="average"></div>
</div>
<div id="button">
<button onclick="recalcAverage()">Recalculate average</button>
<div>NEW AVERAGE IS</div>
<div id="average2"></div>
</div>
</body>
JAVASCRIPT
const grades=[1, 1, 1];
function loadGrades(){
document.getElementById("grades").innerHTML = grades;
}
function calcAverage(){
var sum = 0;
for ( let index=0; index < grades.length; index++ ) {
sum += grades[index];
}
var average = (sum / grades.length );
document.getElementById("average").innerHTML = average;
}
function addGrade(){
var grade = prompt("Add new grade");
grades[grades.length] = grade;
document.getElementById("grades").innerHTML = grades;
}
function recalcAverage(){
var sum2 = 0;
for ( let i=0; i < grades.length; i++ ) {
sum2 += grades[i];
}
var average2 = (sum2 / grades.length );
document.getElementById("average2").innerHTML = average2;
}