Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function groceryStore(input) {
- let list = input.shift().split('|');
- let end = false;
- for (let i = 0; i < input.length; i++) {
- let splitCommand = input[i].split('%');
- let command = splitCommand.shift();
- let items = splitCommand;
- let item = items.shift();
- switch (command) {
- case "Important":
- if (list.includes(item)) {
- list.splice(list.indexOf(item), 1);
- list.unshift(item)
- } else {
- list.splice(0, 0, item)
- }
- break;
- case "Add":
- if (!list.includes(item)) {
- list.push(item);
- } else {
- console.log(`The product is already in the list.`)
- }
- break;
- case "Swap":
- let itemTwo = items.shift();
- let itemOneMissing = !list.includes(item);
- let itemTwoMissing = !list.includes(itemTwo);
- let itemOneIndex = list.indexOf(item);
- let itemTwoIndex = list.indexOf(itemTwo);
- if (list.includes(item) && list.includes(itemTwo)) {
- list.splice(itemOneIndex, 1, itemTwo);
- list.splice(itemTwoIndex, 1, item);
- } else {
- let missing = itemOneMissing ? item : itemTwo;
- console.log(`Product ${missing} missing!`)
- }
- break;
- case "Remove":
- if (list.includes(item)) {
- let itemIndex = list.indexOf(item);
- list.splice(itemIndex)
- } else {
- console.log(`Product ${item} isn't in the list.`)
- }
- break;
- case "Reversed":
- list.reverse()
- break;
- case "Shop!":
- end = true;
- break;
- default:
- break;
- }
- if(end) { break; }
- }
- list.map((item, index) => console.log(`${index + 1}. ${item}`))
- }
Advertisement
Add Comment
Please, Sign In to add comment