Tell us what’s happening:
Describe your issue in detail here.
**Your code so far**
function nextInLine(arr, item) {
// Only change code below this line
arr.push(item);
return arr.shift();
// Only change code above this line
}
// Setup
var 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/91.0.4472.101 Safari/537.36
Challenge: Stand in Line
Link to the challenge:
JSON.stringify
converts a JS object, array or primitive (or any combination of these), to a string.
The string is formatted in a format called JSON, which is commonly used to pass data around between computers on networks (eg the internet).
The reason this is done is that if you do this:
var testArr = [1,2,3,4,5];
console.log(testArr);
FCCs console turns the array into a string, but the output looks like:
1,2,3,4,5
Which tends to be confusing for learners.
If you run JSON.stringify, what it does is keep the syntax in place:
[1, 2, 3, 4, 5]
So it’s less confusing for learners
1 Like
Also, by converting the array to a primitive string value, what is being logged is a snapshot at that moment. If we simply logged the array itself, we are showing a reference to that memory location - and whenever the array itself is updated, the logged value would dynamically update, even on values already logged.
2 Likes
system
Closed
December 16, 2021, 12:40am
4
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.