Advertisement
Guest User

Followers

a guest
Nov 1st, 2019
405
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function followers(input) {
  2.     let followers = {};
  3.     for (const line of input) {
  4.         if (line === 'Log out') break;
  5.         let [command, username, count] = line.split(/:\s+/g);
  6.         switch (command) {
  7.             case 'New follower':
  8.                 if (!followers.hasOwnProperty(username)) {
  9.                     followers[username] = {
  10.                         likes: 0,
  11.                         comments: 0
  12.                     };
  13.                 }
  14.                 break;
  15.             case 'Like':
  16.                 if (!followers.hasOwnProperty(username)) {
  17.                     followers[username] = {
  18.                         likes: 0,
  19.                         comments: 0
  20.                     };
  21.                 }
  22.                 followers[username].likes += +count;
  23.                 break;
  24.             case 'Comment':
  25.                 if (!followers.hasOwnProperty(username)) {
  26.                     followers[username] = {
  27.                         likes: 0,
  28.                         comments: 0
  29.                     };
  30.                 }
  31.                 followers[username].comments++;
  32.                 break;
  33.             case 'Blocked':
  34.                     if (!followers.hasOwnProperty(username)) {
  35.                         console.log(`${username} doesn't exist.`);
  36.                    }
  37.                    delete followers[username];
  38.                break;
  39.            default:
  40.                break;
  41.        }
  42.    }
  43.    let sortedKeys = Object.keys(followers);
  44.    sortedKeys.sort((a, b) => followers[b].likes - followers[a].likes || a.localeCompare(b));
  45.    console.log(`${sortedKeys.length} followers`);
  46.    for (const username of sortedKeys) {
  47.        console.log(`${username}: ${followers[username].likes + followers[username].comments}`);
  48.    }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement