The pop() method removes the last element from an array and returns that element. This method changes the length of the array.
var a = [1, 2, 3]; a.pop(); console.log(a); // [1, 2]
Syntax
arr.pop()
Return value
The removed element from the array; undefined if the array is empty.
Description
The pop method removes the last element from an array and returns that value to the caller.
pop 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.
If you call pop() on an empty array, it returns undefined.
Examples
Removing the last element of an array
The following code creates the myFish array containing four elements, then removes its last element.
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; var popped = myFish.pop(); console.log(myFish); // ['angel', 'clown', 'mandarin' ] console.log(popped); // 'sturgeon'
Specifications
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.2. |
| ECMAScript 5.1 (ECMA-262) The definition of 'Array.prototype.pop' in that specification. |
Standard | |
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Array.prototype.pop' in that specification. |
Standard | |
| ECMAScript Latest Draft (ECMA-262) The definition of 'Array.prototype.pop' in that specification. |
Draft |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 1.0 | (Yes) | 1.0 (1.7 or earlier) | 5.5 | (Yes) | (Yes) |
| Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
See also
Document Tags and Contributors
Tags:
Contributors to this page:
erikadoyle,
oksana-khristenko,
bakotaco,
pitouseang,
luisco,
fscholz,
eduardoboucas,
Fornost461,
teemuremes,
elindie,
Mingun,
clivepaterson768,
nquinlan,
ethertank,
Sheppy,
trevorh,
Raynos,
evilpie,
Sevenspade,
Mgjbot,
Yuichirou,
Ptak82,
Maian,
Dria
Last updated by:
erikadoyle,