Advertisement
didkoslawow

Untitled

Feb 20th, 2023
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function schoolRegister(input) {
  2.     const register = {};
  3.  
  4.   for (let student of input) {
  5.     student = student.split(', ');
  6.     const currentStudent = student.shift().split(': ')[1];
  7.     const currentGrade = Number(student.shift().split(': ')[1]) + 1;
  8.     const currentScore = student.shift().split(': ')[1];
  9.    
  10.     if (currentScore > 3) {
  11.         if (!register.hasOwnProperty(currentGrade)) {
  12.             register[currentGrade] = {
  13.                 name: [currentStudent],
  14.                 score: [currentScore],
  15.             };
  16.         } else {
  17.             register[currentGrade].name.push(currentStudent);
  18.             register[currentGrade].score.push(currentScore);
  19.         }
  20.     }
  21.   }
  22.  const sortedGrades = sortRegister(register);
  23.  
  24.   for (const grade in sortedGrades) {
  25.     console.log(`${grade} Grade`);
  26.     console.log(`List of students: ${sortedGrades[grade].name.join(', ')}`);
  27.     console.log(`Average annual score from last year: ${getAvarage(sortedGrades[grade].score).toFixed(2)}`);
  28.     console.log('');
  29.   }
  30.  
  31.   function sortRegister(obj) {
  32.     Object.keys(obj).sort((a,b) => Number(a) - Number(b));
  33.     return obj;
  34.   }
  35.  
  36.   function getAvarage(arr) {
  37.     let avrg = arr.map(x => Number(x)).reduce((acc, score) => acc + score ,0) / arr.length;
  38.     return avrg;
  39.   }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement