diff --git a/frontend/dashboard.js b/frontend/dashboard.js index 281b9a2..16cf418 100644 --- a/frontend/dashboard.js +++ b/frontend/dashboard.js @@ -130,19 +130,21 @@ function updateStatistics(subjects) { return; } - const scores = subjects.map(subject => subject.scoreValue); - const highest = Math.max(...scores); - - // 計算加權平均 + // 計算加權平均與最高分 + let highest = -Infinity; let totalWeightedScore = 0; let totalWeight = 0; - subjects.forEach(subject => { + for (let i = 0; i < subjects.length; i++) { + const subject = subjects[i]; const score = subject.scoreValue; + + if (score > highest) highest = score; + const weight = getSubjectWeight(subject.SubjectName); totalWeightedScore += score * weight; totalWeight += weight; - }); + } const weightedAvg = totalWeight > 0 ? totalWeightedScore / totalWeight : 0;