3.9 KiB
title
| title |
|---|
| Stand in Line |
Remember to use Read-Search-Ask if you get stuck. Try to pair program
and write your own code 
Problem Explanation:
In Computer Science a queue is an abstract data structure where items are kept in order. New items can be added at the back of the queue and old items are taken off from the front of the queue.
Write a function nextInLine which takes an array (arr) and a number (item) as arguments. Add the number to the end of the array, then remove the first element of array. The nextInLine function should then return the element that was removed.
- Change the code below
//Your Code hereand up to//Change this line. - Ensure that you are editing the inside of the
nextInLinefunction. - Use an array function you learned to add the item to the end of the array arr.
- Use an array function you learned to remove the first element from array arr.
- Return the element removed.
Relevant Links
- Challenge: Manipulate Arrays With push()
- Challenge: Manipulate Arrays With shift()
- Challenge: Passing Values to Functions with Arguments
Hint: 1
The push() method adds an item to the end of an array.
try to solve the problem now
Hint: 2
The shift() method removes the first element of an array. It also returns the element removed.
try to solve the problem now
Hint: 3
The function nextInLine uses arr and item. Those are what the tests will use to pass the array elements they will test with. It allows the function to be reusable. Do not hardcode any of the tests inside the function.
try to solve the problem now
Spoiler Alert!
Solution ahead!
Basic Code Solution:
function nextInLine(arr, item) {
// Your code here
arr.push(item);
var removed = arr.shift();
return removed; // Change this line
}
Code Explanation:
- Push item at the end of arr.
- Call the
shift()method on arr to get the first item and store it in removed. - Return removed.
Example Run
- Test
nextInLine([2,1]);runs. - The
nextInLinefunction is called. arr becomes [2]. item becomes 1. arr.push(item);Pushes 1 to [2]. So arr is now [2,1].var removed = arr.shift();removes the first element. So arr is now [1]. 2 has been removed and is stored in removed.return removed;2 is returned.
Note: You don't actually need the variable removed. The element removed can be returned directly using return arr.shift();.
