Stand in Line (i need to figure this out to continue learning )

Stand in Line (i need to figure this out to continue learning )
0

#1

Tell us what’s happening:

Your code so far


function nextInLine(arr, item) {
  // Your code here
  item = 1;
  testArr.push(item);
  var removedElement = testArr.shift();
  return removedElement;  // 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));

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:62.0) Gecko/20100101 Firefox/62.0.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/stand-in-line


#2

You’re putting 1 on the end of the array every time, regardless of what item actually is. So if I do nextInLine([1,2,3], 4) you’re going to ignore that 4 and use the number 1 instead, which is incorrect


#3

I’m not sure you are able to test it though, LOL :slight_smile:

Function clearly has to return array in order to test ability to pop as well, otherwise I can just return arr.shift() and it will always pass ))


#4

This is true, but one of the tests is with an empty array, and this is the test that will fail.


#5

Smart and true, I didn’t think of it :slight_smile:


#6

Also, you’re totally ignoring the “arr” parameter, using testArr instead. testArr is a separate variable defined outside of the function.

It might be helpful to review the basics about how functions work:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/passing-values-to-functions-with-arguments