CCCPaste

Message manager

function messageManager(input){
    let capacity=Number(input.shift());

    input.pop();
    let users=[];

    input.forEach(element => {
        let elArr=element.split("=");
        let command=elArr[0];

        if (command=="Add"){
            let username=elArr[1];
            let messagesSent=Number(elArr[2]);
            let messagesReceived=Number(elArr[3]);
            let newUser={user:username, sent:messagesSent, received:messagesReceived};

            let userExists=false;
            users.forEach(u=>{
                if (u["user"]==username){
                    userExists=true;
                }
            });
            if (!userExists){
                users.push(newUser);
            }
        } else if (command=="Empty"){ 
            let userToRemove=elArr[1];
            if (userToRemove=="All"){
                users=[];
            }
            let userToRemoveExists=false;
            let ind=-1;
          for (let i=0; i=capacity){
                console.log(`${users[indexOfSender]["user"]} reached the capacity!`);
                          users.splice(indexOfSender,1);                   
            }

           for (let i=0; i=capacity){
                console.log(`${users[indexOfReceiver]["user"]} reached the capacity!`);
                users.splice(indexOfReceiver,1);
            }
          }
        }
    });   

users=users.sort((a,b)=>{
    if (a["received"]!==b["received"]){
        return b["received"]- a["received"];
    } else {
        return a["user"].localeCompare(b["user"]);
    }
});
console.log(`Users count: ${users.length}` );
users.forEach(u=>{
    let totalMessages=u["received"]+u["sent"];
    console.log(`${u["user"]} - ${totalMessages}`)
})
}