Todorov_Stanimir

07. Company Users with Map

Jul 10th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function companyUsers(input) {
  2.     let companies = new Map();
  3.  
  4.     input.forEach(line => {
  5.         let [company, employer] = line.split(' -> ');
  6.         if (!companies.has(company)) {
  7.             companies.set(company, [employer]);
  8.         } else {
  9.             if (!companies.get(company).includes(employer)) {
  10.                 companies.get(company).push(employer);
  11.             }
  12.         }
  13.     });
  14.  
  15.     [...companies]
  16.         .sort((a, b) => a[0].localeCompare(b[0]))
  17.         .forEach(line => {
  18.             console.log(line[0]);
  19.             line[1].forEach(employer => {
  20.                 console.log(`-- ${employer}`);
  21.             });
  22.         });
  23. }
  24. companyUsers([
  25.     'SoftUni -> AA12345',
  26.     'SoftUni -> BB12345',
  27.     'Microsoft -> CC12345',
  28.     'HP -> BB12345'
  29. ]);
  30. companyUsers([
  31.     'SoftUni -> AA12345',
  32.     'SoftUni -> CC12344',
  33.     'Lenovo -> XX23456',
  34.     'SoftUni -> AA12345',
  35.     'Movement -> DD11111'
  36. ])
Add Comment
Please, Sign In to add comment