function demo(arr) { let array = arr; let equimpents = array.slice(0, 1); let arrOfEquipments = equimpents.toString().split(" "); let newArrOfCommands = array.splice(1); let lengthOfCommands = newArrOfCommands.length; let lengthOfEquipments = arrOfEquipments.length; for (let i = 0; i < lengthOfCommands; i++) { let currentElement = ""; currentElement = newArrOfCommands.splice(0, 1).toString().split(" "); let command = ""; command = currentElement[0]; lengthOfEquipments = arrOfEquipments.length; if (command == "Buy") { let product = ""; product = currentElement[1]; arrOfEquipments.push(product); } else if (command == "Trash") { let productToDelete = ""; productToDelete = currentElement[1]; for (let j = 0; j < lengthOfEquipments; j++) { let weapon = ""; weapon = arrOfEquipments[j]; if (weapon == productToDelete) { arrOfEquipments.splice(j, 1); } } } else if (command == "Repair") { let weaponForRepair = ""; weaponForRepair = currentElement[1]; for (let k = 0; k < lengthOfEquipments; k++) { let weapon = ""; weapon = arrOfEquipments[k]; if (weapon == weaponForRepair) { let elementForRemove = arrOfEquipments.splice(k, 1).toString(); arrOfEquipments.push(elementForRemove); } } } else if (command == "Upgrade") { let weapon = currentElement[1].toString(); let currentWeapon = ""; let upgrade = ""; for (let y = 0; y < weapon.length - 1; y++) { let letter = ""; letter = weapon[y]; if (letter == "-") { for (let a = y + 1; a <= weapon.length - 1; a++) { let lettersForUpgrade = ""; lettersForUpgrade = weapon[a]; upgrade += lettersForUpgrade; y = a; } } else { currentWeapon += letter; } } for (let r = 0; r < lengthOfEquipments; r++) { let typeOfWeapon = ""; typeOfWeapon = arrOfEquipments[r]; if (typeOfWeapon == upgrade) { arrOfEquipments.splice(r + 1, 0, `${currentWeapon}:${upgrade}`); } } } } console.log(arrOfEquipments.join(" ")); }