Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(params){
- params.pop();
- let stores = {};
- let itemsArray = [];
- for ( let param of params){
- let tokens = param.split('->');
- let command = tokens[0];
- let store = tokens[1];
- let items = tokens[2];
- if(command === "Add") {
- if (items.includes(',')) {
- let splittedItems = items.split(',');
- if(!stores.hasOwnProperty(store)){
- stores[store] = splittedItems;
- }else{
- for ( let ele of splittedItems){
- stores[store].push(ele);
- }
- }
- }else{
- if(!stores.hasOwnProperty(store)){
- stores[store] = [items];
- }else{
- stores[store].push(items);
- }
- }
- }
- else if(command === "Remove"){
- if(stores.hasOwnProperty(store)){
- delete stores[store];
- }
- }
- }
- console.log("Stores list:");
- let sortedStores = Object.entries(stores)
- .sort((a,b)=>{
- return b[1].length - a[1].length || b[0].localeCompare([a[0]])
- })
- .forEach(e=>{
- console.log(`${e[0]}`);
- for ( let item of e[1]){
- console.log(`<<${item}>>`);
- }
- });
- }
- solve(["Add->PeakSports->Map,Navigation,Compass",
- "Add->Paragon->Sunscreen" ,
- "Add->Groceries->Dried-fruit,Nuts" ,
- "Add->Groceries->Nuts" ,
- "Add->Paragon->Tent" ,
- "Remove->Paragon" ,
- "Add->Pharmacy->Pain-killers" ,
- "END"]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement