From 42231c79d9c8812a7ba9d4978f56a69a1241fc74 Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Mon, 27 Apr 2020 17:16:27 -0400 Subject: [PATCH] [+] Calclate ratingAverages and overallRating --- src/logic/course-info.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/logic/course-info.ts b/src/logic/course-info.ts index 6a90da0..9b43818 100644 --- a/src/logic/course-info.ts +++ b/src/logic/course-info.ts @@ -130,10 +130,25 @@ export class AnalyzedRating ratingCounts: number[][] // ratingCounts[criteria][stars] = count ratingSums: number[] // ratingSums[criteria] = total stars totalCount: number + + ratingAverages: number[] = [] // ratingAverages[criteria] = average + overallRating: number = 0 + constructor(json: any) { this.ratingCounts = json.ratingCounts; this.ratingSums = json.ratingSums; this.totalCount = json.totalCount; + + // No ratings + if (this.totalCount == 0) + { + this.overallRating = -1; + return; + } + + // Calculate overall rating + this.ratingSums.forEach((criteriaScore, i) => this.overallRating += this.ratingAverages[i] = criteriaScore / this.totalCount); + this.overallRating /= this.ratingAverages.length; } }