Advertisement
Guest User

Untitled

a guest
Jul 4th, 2019
712
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. function solve(arr) {
  2.  
  3. let map = new Map();
  4. for (let string of arr) {
  5. let tokens = string.split(' ');
  6. let name = tokens[0];
  7. let grades = tokens.splice(1, tokens.length).map(Number);
  8.  
  9. if (!map.has(name)) {
  10. map.set(name, []);
  11. map.set(name, map.get(name).concat(grades))
  12. } else {
  13. map.set(name, map.get(name).concat(grades));
  14. }
  15. }
  16.  
  17. function average(a, b) {
  18. let aSum = 0;
  19. for (let i = 0; i < a[1].length; i++) {
  20. aSum += a[1][i];
  21. }
  22. let bSum =0;
  23. for (let i = 0; i < b[1].length; i++) {
  24. bSum+=[1][i];
  25. }
  26.  
  27. let aAverage =aSum/a[1].length;
  28. let bAverage =bSum/b[1].length;
  29. return aAverage -bAverage;
  30. }
  31.  
  32. let sorted = Array.from(map).sort((a, b) => average(a, b));
  33.  
  34. for(let keys of sorted) {
  35. console.log(`${keys[0]}: ${keys[1]}, `)
  36.  
  37. }
  38.  
  39. }
  40.  
  41. solve(['Lilly 4 6 6 5',
  42. 'Tim 5 6',
  43. 'Tammy 2 4 3',
  44. 'Tim 6 6']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement