The unshift()
method adds one or more elements to the beginning of an array and returns the new length of the array.
Syntax
arr.unshift(element1[, ...[, elementN]])
Parameters
elementN
- The elements to add to the front of the
arr
.
Return value
The new length
property of the object upon which the method was called.
Description
The unshift
method inserts the given values to the beginning of an array-like object.
unshift
is intentionally generic. This method can be called or applied to objects resembling arrays. Objects which do not contain a length
property—reflecting the last in a series of consecutive, zero-based numerical properties—may not behave in any meaningful manner.
Please note that, if multiple elements are passed as parameters, they're inserted in chunk at the beginning of the object, in the exact same order they were passed as parameters. Hence, calling unshift
with n
arguments once, or calling it n
times with 1 argument (with a loop, for example), don't yield the same results.
See example:
let arr = [4, 5, 6] arr.unshift(1, 2, 3) console.log(arr); // [1, 2, 3, 4, 5, 6] arr = [4, 5, 6] // resetting the array arr.unshift(1) arr.unshift(2) arr.unshift(3) console.log(arr) // [3, 2, 1, 4, 5, 6]
Examples
Using unshift
let arr = [1, 2] arr.unshift(0) // result of the call is 3, which is the new array length // arr is [0, 1, 2] arr.unshift(-2, -1) // the new array length is 5 // arr is [-2, -1, 0, 1, 2] arr.unshift([-4, -3]) // the new array length is 6 // arr is [[-4, -3], -2, -1, 0, 1, 2] arr.unshift([-7, -6], [-5]) // the new array length is 8 // arr is [ [-7, -6], [-5], [-4, -3], -2, -1, 0, 1, 2 ]
Specifications
Specification |
---|
ECMAScript (ECMA-262) The definition of 'Array.prototype.unshift' in that specification. |
Browser compatibility
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
unshift | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 5.5 | Opera Full support 4 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support 10.1 | Safari iOS Full support 1 | Samsung Internet Android Full support 1.0 | nodejs Full support 0.1.100 |
Legend
- Full support
- Full support