Advertisement
Guest User

Untitled

a guest
Aug 5th, 2020
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function nikudensMealsProgram(params) {
  2.     let command = params.shift();
  3.     let mealsObj = {};
  4.     let removed = 0;
  5.     while(command!='Stop'){
  6.         command=command.split('-');
  7.         if(command[0]=='Like'){
  8.             let name = command[1];
  9.             let meal= command[2];
  10.             if(mealsObj.hasOwnProperty(name)){
  11.                 if(mealsObj[name].includes(meal)){
  12.  
  13.                 }else{
  14.                     mealsObj[name].push(meal);
  15.                 }              
  16.             }else{
  17.                 mealsObj[name]=[];
  18.                 mealsObj[name].push(meal);
  19.             }
  20.         }else if(command[0]=='Unlike'){
  21.             let name = command[1];
  22.             let meal = command[2];
  23.             if(mealsObj.hasOwnProperty(name)){
  24.                 if(mealsObj[name].includes(meal)){
  25.                     let index = mealsObj[name].indexOf(meal);
  26.                     mealsObj[name].splice(index,1);
  27.                     console.log(`${name} doesn't like the ${meal}.`);
  28.                    removed++
  29.                }else{
  30.                    console.log(`${name} doesn't have the ${meal} in his/her collection.`);
  31.                 }
  32.             }else{
  33.                 console.log(`${name} is not at the party.`);              
  34.             }
  35.         }
  36.         command=params.shift();
  37.     }
  38.     let workArr = Object.entries(mealsObj);
  39.     let sorted = workArr.sort(((a,b)=>b[1].length - a[1].length) ||(a[0].localeCompare(b[0])))
  40.     for (const kvp of sorted) {
  41.         console.log(`${kvp[0]}: ${kvp[1].join(', ')}`);
  42.     }
  43.     console.log(`Unliked meals: ${removed}`);
  44. }
  45.  
  46. nikudensMealsProgram([
  47.     'Like-Krisi-shrimps',
  48.     'Like-Krisi-kebapce',
  49.     'Like-Krisi-banica',
  50.     'Like-Krisi-soup',
  51.     'Like-Krisi-soup',
  52.     'Unlike-Krisi-soup',
  53.     'Like-Misho-salad',
  54.     'Like-Pena-dessert',
  55.     'Like-Pena-kebapce',
  56.     'Like-Pena-banana',
  57.     'Stop'
  58.   ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement