Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function schoolRegister(input) {
- const register = {};
- for (let student of input) {
- student = student.split(', ');
- const currentStudent = student.shift().split(': ')[1];
- const currentGrade = Number(student.shift().split(': ')[1]) + 1;
- const currentScore = student.shift().split(': ')[1];
- if (currentScore > 3) {
- if (!register.hasOwnProperty(currentGrade)) {
- register[currentGrade] = {
- name: [currentStudent],
- score: [currentScore],
- };
- } else {
- register[currentGrade].name.push(currentStudent);
- register[currentGrade].score.push(currentScore);
- }
- }
- }
- const sortedGrades = sortRegister(register);
- for (const grade in sortedGrades) {
- console.log(`${grade} Grade`);
- console.log(`List of students: ${sortedGrades[grade].name.join(', ')}`);
- console.log(`Average annual score from last year: ${getAvarage(sortedGrades[grade].score).toFixed(2)}`);
- console.log('');
- }
- function sortRegister(obj) {
- Object.keys(obj).sort((a,b) => Number(a) - Number(b));
- return obj;
- }
- function getAvarage(arr) {
- let avrg = arr.map(x => Number(x)).reduce((acc, score) => acc + score ,0) / arr.length;
- return avrg;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement