Basic JavaScript - Stand in Line

Could you explain the storing of data a little more or possibly direct me towards a few more detailed explanations on why my direct input would not work vs using the ‘stored’ way where the camperbot used ‘removed’ as the variable to store arr.shift(); .
From what was explained, supposedly the direct way would work too, though I understand that within real word concepts much larger amounts of information would be stored this way and would of course make such tasks easier without have to manually put all the data again to be inputted once more.

function nextInLine(arr, item) {
  // Only change code below this line
  arr.push(item)
  arr.shift();
  return arr.shift();
  // Only change code above this line
}

// Setup
let testArr = [1, 2, 3, 4, 5];

// Display code
console.log("Before: " + JSON.stringify(testArr));
console.log(nextInLine(testArr, 6));
console.log("After: " + JSON.stringify(testArr));

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0

Challenge Information:

Basic JavaScript - Stand in Line

I have a theory that if I do not store the data then the program will not know what needs to be added back in, so therefore i was given the error. If the program does not know what to place back in then there is nothing to place? So then storing it somewhere is what needs to be done, though I can’t imagine this holding true after reading an explanation where this way of ‘directly’ placing it back in is way to make this work as well.

This is saying to remove two things from the array.

Does that mean the explanation given by Camperbot is wrong at the end when it says you can use return arr.shift();?

Nope. It means you cannot use arr.shift() twice if you only want to remove one thing.

2 Likes

Ohhhhhhhhhhhh… I got it, and it shortened the code by a line. Thank you! again!!!

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.