Manipulate Arrays With unshift() - whats wrong with my code?

Manipulate Arrays With unshift() - whats wrong with my code?


Tell us what’s happening:

Your code so far

// Example
var ourArray = ["Stimpson", "J", "cat"];
ourArray.shift(); // ourArray now equals ["J", "cat"]
// ourArray now equals ["Happy", "J", "cat"]

// Setup
var myArray = [["John", 23], ["dog", 3]];

// Only change code below this line.

Your browser information:

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

Link to the challenge:


It has to be an array. Just wrap it around your values in an array.


I got the solution. I wrote “Paul”,35 like this - (“Paul”,35) , instead of this - [(“Paul”,35)]. But now i have a question . In sample given above they have written it like - ourArray.unshift(“Happy”); . Why no square brackets here ? Just the curv brackets. while i got my solution only after using square brackets. Why so?


var ourArray = ["Stimpson", "J", "cat"];
ourArray is an array of strings.

var myArray = [["John", 23], ["dog", 3]];
myArray is an array of arrays of strings.

The value of myArray after executing myArray.unshift("Paul", 35), your first attempt, would be as follows:

["Paul", 35, ["John", 23], ["dog", 3]]

Do you see how that is different from the expected value as below?

[["Paul", 35], ["John", 23], ["dog", 3]]


i get it. Thanks lots :slight_smile: