Advertisement
vladovip

School Grade_Associative Arrays

Mar 7th, 2022
996
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function schoolGrade(input) {
  2.   let result = new Map();
  3.  
  4.   for (let lines of input) {
  5.     let tokens = lines.split(" ");
  6.     let name = tokens.shift();
  7.     let gradesArr = tokens.map(Number);
  8.  
  9.     if (result.has(name) == false) {
  10.       result.set(name, []);
  11.     }
  12.  
  13.     let existing = result.get(name);
  14.     for (let grade of gradesArr) {
  15.       existing.push(grade);
  16.     }
  17.   }
  18.  
  19.   let sorted = Array.from(result);
  20.   sorted.sort((a, b) => a[0].localeCompare(b[0]));
  21.  
  22.   for (let [name, existing] of sorted) {
  23.     let average = 0;
  24.     for (let grade of existing) {
  25.       average += grade;
  26.     }
  27.     average /= existing.length;
  28.     console.log(`${name}: ${average.toFixed(2)}`);
  29.   }
  30. }
  31.  
  32. schoolGrade([
  33. "Lilly 4 6 6 5",
  34.  "Tim 5 6",
  35.  "Tammy 2 4 3",
  36.  "Tim 6 6"]);
  37.  
  38. console.log("------");
  39.  
  40. schoolGrade([
  41.     "Steven 3 5 6 4",
  42.     "George 4 6",
  43.     "Tammy 2 5 3",
  44.      "Steven 6 3"]);
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement