Web/JavaScript/Reference/Global objects/Array/unshift
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
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| 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
See also
Array.prototype.unshift() by Mozilla Contributors is licensed under CC-BY-SA 2.5.