4.0 KiB
title | localeTitle |
---|---|
Stand in Line | Ficar na fila |
Lembre-se de usar Read-Search-Ask
se você ficar preso. Tente emparelhar o programa e escreva seu próprio código
Explicação do Problema:
Na Ciência da Computação, uma fila é uma estrutura de dados abstrata em que os itens são mantidos em ordem. Novos itens podem ser adicionados na parte de trás da fila e itens antigos são retirados da frente da fila .
Escreva uma função nextInLine
que recebe um array ( arr ) e um número ( item ) como argumentos. Adicione o número ao final da matriz e remova o primeiro elemento da matriz. A função nextInLine
deve então retornar o elemento que foi removido.
- Altere o código abaixo
//Your Code here
e até//Change this line
. - Verifique se você está editando o interior da função
nextInLine
. - Use uma função de matriz que você aprendeu a adicionar o item ao final da matriz arr .
- Use uma função de matriz que você aprendeu a remover o primeiro elemento da matriz arr .
- Retorna o elemento removido.
Links Relevantes
- Desafio: manipular matrizes com push ()
- Desafio: Manipular Arrays Com Shift ()
- Desafio: passando valores para funções com argumentos
Sugestão: 1
O método push()
adiciona um item ao final de um array.
tente resolver o problema agora
Dica: 2
O método shift()
remove o primeiro elemento de uma matriz. Também retorna o elemento removido.
tente resolver o problema agora
Dica: 3
A função nextInLine
usa arr e item . Esses são os testes que serão usados para transmitir os elementos da matriz com os quais eles testarão. Permite que a função seja reutilizável. Não codifique qualquer um dos testes dentro da função.
tente resolver o problema agora
Alerta de Spoiler!
Solução à frente!
Solução básica de código:
function nextInLine(arr, item) {
// Your code here
arr.push(item);
var removed = arr.shift();
return removed; // Change this line
}
Explicação do código:
- Empurrar item no final do arr .
- Chame o método
shift()
na arr para obter o primeiro item e armazene-o em removido . - Retornar removido .
Exemplo de Execução
- Teste
nextInLine([2,1]);
corre. - A função
nextInLine
é chamada. arr se torna [2]. item se torna 1. arr.push(item);
Empurra de 1 a [2]. Então arr é agora [2,1].var removed = arr.shift();
remove o primeiro elemento. Então arr é agora [1]. 2 foi removido e é armazenado em removido .return removed;
2 é retornado.
Nota : Você não precisa realmente da variável removida . O elemento removido pode ser retornado diretamente usando o return arr.shift();
.