vladovip

MessageManagVer1_JSFUND

Apr 16th, 2022 (edited)
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function messageManager (inputArr){
  2.  
  3.     let CapacityPerUser = Number(inputArr.shift());
  4.  
  5.     let commandLine = inputArr.shift();
  6.     let recordsOfUsers = {};
  7.  
  8.     while ( commandLine != "Statistics"){
  9.           let tokens = commandLine.split("=");
  10.           let command = tokens[0];
  11.          
  12.           if ( command == "Add"){
  13.               let username = tokens[1];
  14.               let sendMessages = +tokens[2];
  15.               let receivedMessages = +tokens[3];
  16.             if ( recordsOfUsers.hasOwnProperty(username) == false ){
  17.                    recordsOfUsers[username] = { send : sendMessages, received: receivedMessages  }
  18.             } else if ( recordsOfUsers.hasOwnProperty(username) == true ){
  19.               continue;
  20.             }
  21.  
  22.           } else if ( command == "Message" ){
  23.                let sender = tokens[1];
  24.                let receiver = tokens[2];
  25.                if (recordsOfUsers.hasOwnProperty(sender) == true && recordsOfUsers.hasOwnProperty(receiver)){
  26.                 recordsOfUsers[sender].send += 1;
  27.                 recordsOfUsers[receiver].received += 1;
  28.                }
  29.                if( recordsOfUsers[sender].send + recordsOfUsers[sender].received >= CapacityPerUser ){
  30.                 console.log(`${sender} reached the capacity!`);
  31.                 delete recordsOfUsers[sender];  
  32.                
  33.                }
  34.                if( recordsOfUsers[receiver].send + recordsOfUsers[receiver].received >= CapacityPerUser ){
  35.                 console.log(`${receiver} reached the capacity!`);
  36.                 delete recordsOfUsers[receiver];  
  37.                }
  38.  
  39.           } else if ( command == "Empty"){
  40.                   let  userName = tokens[1];
  41.                   if( recordsOfUsers.hasOwnProperty(userName) == true  ){
  42.                    delete recordsOfUsers[userName];
  43.                   }
  44.                   if ( userName == "All"){
  45.                       for ( let users in recordsOfUsers ){
  46.                           delete recordsOfUsers[users];
  47.                       }
  48.                   }
  49.           }
  50.           commandLine = inputArr.shift();
  51.     }
  52.       let countOfUser = Object.keys(recordsOfUsers).length;
  53.       console.log(`User count: ${countOfUser}`);
  54.       for( let user in recordsOfUsers){
  55.           let numberOfMessages = recordsOfUsers[user].send + recordsOfUsers[user].received;
  56.           console.log(`${user} - ${numberOfMessages}`);
  57.       }
  58.  
  59. }
  60. messageManager (["10",
  61. "Add=Berg=9=0",
  62. "Add=Kevin=0=0",
  63. "Message=Berg=Kevin",
  64. "Add=Mark=5=4",
  65. "Statistics"]);
  66.  
  67. console.log(`-----------`);
  68.  
  69. messageManager ((["20",
  70. "Add=Mark=3=9",
  71. "Add=Berry=5=5",
  72. "Add=Clark=4=0",
  73. "Empty=Berry",
  74. "Add=Blake=9=3",
  75. "Add=Michael=3=9",
  76. "Add=Amy=9=9",
  77. "Message=Blake=Amy",
  78. "Message=Michael=Amy",
  79. "Statistics"])
  80. );
  81.  
  82. console.log(`--------`);
  83.  
  84.  
  85. messageManager(["12",
  86. "Add=Bonnie=3=5",
  87. "Add=Johny=4=4",
  88. "Empty=All",
  89. "Add=Bonnie=3=3",
  90. "Statistics"]);
  91.  
Add Comment
Please, Sign In to add comment