Instruções
Crie um programa seletor de almoços
Neste laboratório, você construirá um programa que ajuda a gerenciar opções de almoço. Você trabalhará com um array de almoços, adicionará e removerá itens do array e selecionará aleatoriamente uma opção de almoço.
Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratório.
Histórias de Usuário:
1. Você deve criar uma variável
lunches e atribuir a ela um array vazio que será usado para armazenar os itens de almoço.
2. Você deve criar uma função addLunchToEnd que recebe um array como primeiro argumento e uma string como segundo argumento. A função deve:
- Adicione a string ao final do array.
- Registre a string
[Lunch Item] added to the end of the lunch menu.no console, onde[Lunch Item]é a string passada para a função. - Retorne o array atualizado.
addLunchToStart que recebe um array como primeiro argumento e uma string como segundo argumento. A função deve:
- Adicione a string ao início do array.
- Registre a string
[Lunch Item] added to the start of the lunch menu.no console, onde[Lunch Item]é a string passada para a função. - Retorne o array atualizado.
removeLastLunch que recebe um array como argumento. A função deve:
- Remova o último elemento do array.
- Se a remoção for bem-sucedida, registre a string
[Lunch Item] removed from the end of the lunch menu.no console, onde[Lunch Item]é o elemento removido do array. - Se o array estiver vazio, registre a string
"No lunches to remove."no console. - Retorne o array atualizado.
removeFirstLunch que recebe um array como argumento. A função deve:
- Remova o primeiro elemento do array.
- Se a remoção for bem-sucedida, registre a string
[Lunch Item] removed from the start of the lunch menu.no console, onde[Lunch Item]é o elemento removido do array. - Se o array estiver vazio, registre a string
"No lunches to remove."no console. - Retorne o array atualizado.
getRandomLunch que recebe um array como argumento. A função deve:
- Selecione um elemento aleatório do array.
- Se for bem-sucedido, registre a string
Randomly selected lunch: [Lunch Item]no console, onde[Lunch Item]é um elemento aleatório no array. - Se o array estiver vazio, registre a string
"No lunches available."no console.
showLunchMenu que recebe um array como argumento e:
- Se houver elementos no array, registra a string
Menu items: [Lunch Item], [Lunch Item]...no console, onde cada[Lunch item]é um dos elementos no array, na ordem. - Se o array estiver vazio, registra a string
"The menu is empty."no console.
O que fazer:
Testes:
- Você deve declarar uma variável `lunches` e atribuir a ela um array vazio para armazenar os itens do almoço.
- Você deve definir uma função `addLunchToEnd`.
- A função `addLunchToEnd` deve ter dois parâmetros.
- `addLunchToEnd(lunches, "Tacos")` deve registrar a string `"Tacos adicionados ao final do menu de almoço."` no console.
- `addLunchToEnd(["Pizza", "Tacos"], "Burger")` deve retornar `["Pizza", "Tacos", "Burger"]`.
- Você deve definir uma função `addLunchToStart`.
- A função `addLunchToStart` deve ter dois parâmetros.
- `addLunchToStart(lunches, "Sushi")` deve registrar a string `"Sushi adicionado ao início do menu de almoço."` no console.
- `addLunchToStart(["Burger", "Sushi"], "Pizza")` deve retornar `["Pizza", "Burger", "Sushi"]`.
- Você deve definir uma função `removeLastLunch`.
- A função `removeLastLunch` deve ter um parâmetro.
- Quando o array de entrada estiver vazio, a função `removeLastLunch` deve registrar a string `"Nenhum almoço para remover."` no console.
- `removeLastLunch(["Ensopado", "Sopa", "Torrada"])` deve registrar a string `"Torrada removida do final do menu de almoço."` no console.
- `removeLastLunch(["Sushi", "Pizza", "Noodles"])` deve retornar `["Sushi", "Pizza"]`.
- Você deve definir uma função `removeFirstLunch`.
- A função `removeFirstLunch` deve ter um único parâmetro.
- Quando o array de entrada estiver vazio, a função `removeFirstLunch` deve registrar a string `"Nenhum almoço para remover."` no console.
- `removeFirstLunch(["Salada", "Ovos", "Queijo"])` deve registrar a string `"Salada removida do início do menu de almoço."` no console.
- `removeFirstLunch(["Sushi", "Pizza", "Burger"])` deve retornar `["Pizza", "Burger"]`.
- `addLunchToEnd`, `addLunchToStart`, `removeLastLunch` e `removeFirstLunch` devem retornar o mesmo array passado como argumento após atualizá-lo.
- Você deve definir uma função `getRandomLunch`.
- A função `getRandomLunch` deve ter um único parâmetro.
- Quando o array de entrada estiver vazio, a função `getRandomLunch` deve registrar a string `"Nenhum almoço disponível."` no console.
- Quando o array de entrada não estiver vazio, a função `getRandomLunch` deve registrar uma string no formato `Randomly selected lunch: [Lunch Item]` no console.
- A função `getRandomLunch` não deve alterar o array passado para ela como argumento.
- Você deve definir uma função `showLunchMenu`.
- A função `showLunchMenu` deve ter um único parâmetro.
- Quando o array de entrada estiver vazio, a função `showLunchMenu` deve registrar a string `"O menu está vazio."` no console.
- `showLunchMenu(["Verduras", "Milhos", "Feijões"])` deve registrar `"Itens do menu: Verduras, Milhos, Feijões"` no console.
- `showLunchMenu(["Pizza", "Hambúrguer", "Batatas Fritas", "Salada"])` deve registrar `"Itens do menu: Pizza, Hambúrguer, Batatas Fritas, Salada"` no console.
Preview