nikolayneykov

Untitled

Mar 17th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function schoolGrades(params) {
  2.     let students = new Map();
  3.  
  4.     for (let string of params) {
  5.         let tokens = string.split(' ');
  6.         let name =  tokens[0];
  7.         let grades = tokens.splice(1, tokens.length).map(Number);
  8.         if (!students.has(name)) {
  9.             students.set(name, []);
  10.             students.get(name).push(...grades);
  11.         }else{
  12.             students.get(name).push(...grades);
  13.         }
  14.     }
  15.  
  16.    
  17.     let sorted = [...students].sort((a, b) => average(a, b));
  18.  
  19.     for (let [name,grades] of sorted) {
  20.         console.log(`${name}: ${grades.join(', ')}`);
  21.     }
  22.  
  23.     function average (a, b){
  24.         let aSum = 0;
  25.         for (let i = 0; i < a[1].length; i++) {
  26.             aSum +=a[1][i];
  27.            
  28.         }
  29.         let bSum = 0;
  30.         for (let i = 0; i < b[1].length; i++) {
  31.             bSum += b[1][i];
  32.            
  33.         }
  34.         let aAverage = aSum / a[1].length;
  35.         let bAverage = bSum / b[1].length;
  36.         return aAverage - bAverage;
  37.     }        
  38. }
Advertisement
Add Comment
Please, Sign In to add comment