--- id: 56533eb9ac21ba0edf2244c6 title: Stand in Line challengeType: 1 videoUrl: '' localeTitle: Ficar na fila --- ## Description
Na Ciência da Computação, uma fila é uma Estrutura de Dados abstrata, na qual os itens são mantidos em ordem. Novos itens podem ser adicionados na parte de trás da queue e itens antigos são retirados da frente da queue . 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.
## Instructions
## Tests
```yml tests: - text: 'nextInLine([], 5) deve retornar um número.' testString: 'assert.isNumber(nextInLine([],5), "nextInLine([], 5) should return a number.");' - text: 'nextInLine([], 1) deve retornar 1' testString: 'assert(nextInLine([],1) === 1, "nextInLine([], 1) should return 1");' - text: 'nextInLine([2], 1) deve retornar 2' testString: 'assert(nextInLine([2],1) === 2, "nextInLine([2], 1) should return 2");' - text: 'nextInLine([5,6,7,8,9], 1) deve retornar 5' testString: 'assert(nextInLine([5,6,7,8,9],1) === 5, "nextInLine([5,6,7,8,9], 1) should return 5");' - text: 'Após nextInLine(testArr, 10) , testArr[4] deve ser 10' testString: 'nextInLine(testArr, 10); assert(testArr[4] === 10, "After nextInLine(testArr, 10), testArr[4] should be 10");' ```
## Challenge Seed
```js function nextInLine(arr, item) { // Your code here return item; // Change this line } // Test Setup var testArr = [1,2,3,4,5]; // Display Code console.log("Before: " + JSON.stringify(testArr)); console.log(nextInLine(testArr, 6)); // Modify this line to test console.log("After: " + JSON.stringify(testArr)); ```
### Before Test
```js var logOutput = []; var originalConsole = console function capture() { var nativeLog = console.log; console.log = function (message) { logOutput.push(message); if(nativeLog.apply) { nativeLog.apply(originalConsole, arguments); } else { var nativeMsg = Array.prototype.slice.apply(arguments).join(' '); nativeLog(nativeMsg); } }; } function uncapture() { console.log = originalConsole.log; } capture(); ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```