--- title: Array.prototype.pop() slug: Web/JavaScript/Reference/Global_Objects/Array/pop tags: - Array - Array.prototype.pop() - ES5 - ES6 - Prototype translation_of: Web/JavaScript/Reference/Global_Objects/Array/pop ---

{{JSRef}}

pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

{{EmbedInteractiveExample("pages/js/array-pop.html")}}

语法

arr.pop()

返回值

从数组中删除的元素(当数组为空时返回{{jsxref("undefined")}})。

描述

pop 方法从一个数组中删除并返回最后一个元素。

pop 方法有意具有通用性。该方法和 {{jsxref("Function.call", "call()")}} 或 {{jsxref("Function.apply", "apply()")}} 一起使用时,可应用在类似数组的对象上。pop方法根据 length属性来确定最后一个元素的位置。如果不包含length属性或length属性不能被转成一个数值,会将length置为0,并返回undefined

如果你在一个空数组上调用 pop(),它返回  {{jsxref("undefined")}}。

示例

例子: 删除掉数组的最后一个元素

下面的代码首先创建了一个拥有四个元素的数组 myFish,然后删除掉它的最后一个元素。

let myFish = ["angel", "clown", "mandarin", "surgeon"];

let popped = myFish.pop();

console.log(myFish);
// ["angel", "clown", "mandarin"]

console.log(popped);
// surgeon

规范

Specification Status Comment
{{SpecName('ES3')}} {{Spec2('ES3')}} Initial definition. Implemented in JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.6', 'Array.prototype.pop')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-array.prototype.pop', 'Array.prototype.pop')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-array.prototype.pop', 'Array.prototype.pop')}} {{Spec2('ESDraft')}}  

浏览器兼容性

{{Compat("javascript.builtins.Array.pop")}}

相关链接