[+] Also calculate max gpa when calculating gpa
This commit is contained in:
@@ -31,7 +31,7 @@ export class GPAUtils
|
|||||||
*
|
*
|
||||||
* @param coursesOriginal List of courses
|
* @param coursesOriginal List of courses
|
||||||
*/
|
*/
|
||||||
public static getGPA(coursesOriginal: Course[]): {gpa: number, accurate: boolean}
|
public static getGPA(coursesOriginal: Course[]): {gpa: number, accurate: boolean, max: number}
|
||||||
{
|
{
|
||||||
// Clone array
|
// Clone array
|
||||||
let courses: Course[] = [];
|
let courses: Course[] = [];
|
||||||
@@ -55,21 +55,23 @@ export class GPAUtils
|
|||||||
// If no course have grade, return -1
|
// If no course have grade, return -1
|
||||||
if (courses.length == 0)
|
if (courses.length == 0)
|
||||||
{
|
{
|
||||||
return {gpa: -1, accurate: false};
|
return {gpa: -1, accurate: false, max: -1};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Count total GPA
|
// Count total GPA
|
||||||
let totalGPA = 0;
|
let totalGPA = 0;
|
||||||
|
let maxGPA = 0;
|
||||||
courses.forEach(course =>
|
courses.forEach(course =>
|
||||||
{
|
{
|
||||||
totalGPA += this.getGP(course, course.letterGrade);
|
totalGPA += this.getGP(course, course.letterGrade);
|
||||||
|
maxGPA += this.getGP(course, "A+");
|
||||||
});
|
});
|
||||||
|
|
||||||
// Get average GPA, round to two decimal places
|
// Get average GPA, round to two decimal places
|
||||||
let gpa = Math.round(totalGPA / courses.length * 100) / 100;
|
let gpa = Math.round(totalGPA / courses.length * 100) / 100;
|
||||||
|
|
||||||
// Return results
|
// Return results
|
||||||
return {gpa: gpa, accurate: accurate};
|
return {gpa: gpa, accurate: accurate, max: maxGPA};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user