--- id: 56533eb9ac21ba0edf2244c6 title: Stand in Line challengeType: 1 videoUrl: https://scrimba.com/c/ca8Q8tP forumTopicId: 18307 localeTitle: Стоять в очереди --- ## Description
В информатике очередь представляет собой абстрактную структуру данных, в которой элементы хранятся в порядке. Новые элементы могут быть добавлены в конце queue а старые элементы сняты с передней части queue . Напишите функцию nextInLine которая принимает массив ( arr ) и число ( item ) в качестве аргументов. Добавьте число в конец массива, затем удалите первый элемент массива. Затем функция nextInLine возвращает элемент, который был удален.
## Instructions
## Tests
```yml tests: - text: nextInLine([], 5) should return a number. testString: assert.isNumber(nextInLine([],5)); - text: nextInLine([], 1) should return 1 testString: assert(nextInLine([],1) === 1); - text: nextInLine([2], 1) should return 2 testString: assert(nextInLine([2],1) === 2); - text: nextInLine([5,6,7,8,9], 1) should return 5 testString: assert(nextInLine([5,6,7,8,9],1) === 5); - text: After nextInLine(testArr, 10), testArr[4] should be 10 testString: nextInLine(testArr, 10); assert(testArr[4] === 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 Tests
```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 Tests
```js uncapture(); testArr = [1,2,3,4,5]; (function() { return logOutput.join("\n");})(); ```
## Solution
```js var testArr = [ 1,2,3,4,5]; function nextInLine(arr, item) { arr.push(item); return arr.shift(); } ```