Vlady Veselinov
Vlady Veselinov

Reputation: 5421

JavaScript Array unshift() in an immutable way

How would you implement something like the Array unshift() method so that it creates a new array? Basically something like the Array concat() method but instead of placing the new item at the end, place it in the beginning.

Upvotes: 29

Views: 14641

Answers (1)

Alexander O'Mara
Alexander O'Mara

Reputation: 60577

You can actually accomplish this using the .concat method if you call it on an array of elements you want to put at the front of the new array.

Working Example:

var a = [1, 2, 3];
var b = [0].concat(a);
console.log(a);
console.log(b);

Alternately, in ECMAScript 6 you can use the spread operator.

Working Example (requires modern browser):

var a = [1, 2, 3]
var b = [0, ...a];
console.log(a);
console.log(b);

Upvotes: 54

Related Questions