1
0
mirror of https://github.com/matt-fidd/stratos.git synced 2026-01-01 20:39:28 +00:00
Files
stratos/lib/GradeBoundaries.js
2022-04-18 21:38:16 +00:00

36 lines
614 B
JavaScript

'use strict';
class GradeBoundaries {
boundaries;
constructor(boundaries = {
'A*': 90,
'A': 80,
'B': 70,
'C': 60,
'D': 50,
'E': 40,
'F': 0
}) {
this.boundaries = boundaries;
}
getGrade(score) {
const boundaries = Object.values(this.boundaries);
for (const [ i, number ] of boundaries.entries()) {
if (score >= number)
return Object.entries(this.boundaries)[i][0];
}
}
toString() {
return Object.entries(this.boundaries).reduce((res, b) => {
return `${res}\n${b[0]}${' '.repeat(2 - b[0].length)}` +
`: >= ${b[1]}`;
}, '');
}
}
module.exports = GradeBoundaries;