Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function messages(input) {
- let listOfUsers = {};
- let totalMessagesCount = Number(input.shift());
- let line = input.shift();
- while (line != "Statistics") {
- let tokens = line.split('=');
- let command = tokens[0];
- if (command === 'Add') {
- let userName = tokens[1];
- let sent = Number(tokens[2]);
- let received = Number(tokens[3]);
- let total = sent + received;
- if (listOfUsers[userName] == undefined) {
- listOfUsers[userName] = {
- sent: sent,
- received: received,
- total: total
- }
- }
- } else if (command === 'Message') {
- let sender = tokens[1];
- let receiver = tokens[2];
- if (listOfUsers[sender] != undefined && listOfUsers[receiver] != undefined) {
- listOfUsers[sender].sent += 1;
- listOfUsers[sender].total += 1;
- listOfUsers[receiver].received += 1;
- listOfUsers[receiver].total += 1;
- if (listOfUsers[sender].total >= totalMessagesCount) {
- console.log(`${sender} reached the capacity!`);
- delete listOfUsers[sender];
- }
- if (listOfUsers[receiver].total >= totalMessagesCount) {
- console.log(`${receiver} reached the capacity!`);
- delete listOfUsers[receiver];
- }
- }
- } else if (command === 'Empty') {
- let user = tokens[1];
- if (user != 'All') {
- delete listOfUsers[user];
- } else {
- for(let el in listOfUsers){
- delete listOfUsers[el];
- }
- }
- }
- line = input.shift();
- }
- let objAsArr = Object.entries(listOfUsers);
- console.log(`Users count: ${objAsArr.length}`);
- objAsArr.sort((a, b) => a[0].localeCompare(b[0]))
- .sort((a, b) => b[1].received - a[1].received);
- for (let el of objAsArr) {
- console.log(`${el[0]} - ${el[1].total}`);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment