Advertisement
t_sh0w

09. Gladiator Inventory

Feb 21st, 2020
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function manipulateGladiatorInventory(arr) {
  2.   let initialInventory = arr.shift().split(" ");
  3.  
  4.   for (let currentCommand of arr) {
  5.     let [command, item] = currentCommand.split(" ");
  6.  
  7.     switch (command) {
  8.       case "Buy":
  9.         if (!initialInventory.includes(item)) {
  10.           initialInventory.push(item);
  11.         }
  12.  
  13.         break;
  14.  
  15.       case "Trash":
  16.         if (initialInventory.includes(item)) {
  17.           let itemIndex = initialInventory.indexOf(item);
  18.           initialInventory.splice(itemIndex, 1);
  19.         }
  20.         break;
  21.  
  22.       case "Repair":
  23.         if (initialInventory.includes(item)) {
  24.           let itemIndex = initialInventory.indexOf(item);
  25.           initialInventory.splice(itemIndex, 1);
  26.           initialInventory.push(item);
  27.         }
  28.         break;
  29.  
  30.       case "Upgrade":
  31.         if (item.includes("-")) {
  32.           let [equipment, upgrade] = item.split("-");
  33.           let upgradeAsString = `${equipment}:${upgrade}`;
  34.  
  35.           if (initialInventory.includes(equipment)) {
  36.             let equipmentIndex = initialInventory.indexOf(equipment);
  37.             initialInventory.splice(equipmentIndex + 1, 0, upgradeAsString);
  38.           }
  39.         }
  40.  
  41.         break;
  42.     }
  43.   }
  44.   return initialInventory.join(" ");
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement