Array.prototype.shift()

shift() 方法删除数组的 第一个 元素,并返回这个元素。该方法会改变数组的长度。

语法

arr.shift()

描述

shift 方法移除索引为 0 的元素(即第一个元素),并返回被移除的元素,其他元素的索引值随之减 1。如果 length 属性的值为 0 (长度为 0),则返回 undefined

shift 方法并不局限于数组:该方法亦可通过 callapply 作用于对象上。对于不包含 length 属性的对象,将添加一个值为 0 的 length 属性。

示例

移除数组中的一个元素

以下代码展示了 myFish 数组调用 shift 方法:

var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];

console.log('调用 shift 之前: ' + myFish);
// "调用 shift 之前: angel,clown,mandarin,surgeon"

var shifted = myFish.shift(); 

console.log('调用 shift 之后: ' + myFish); 
// "调用 shift 之后: clown,mandarin,surgeon" 

console.log('被删除的元素: ' + shifted); 
// "被删除的元素: angel"

规范

规范 状态 备注
ECMAScript 3rd Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
Array.prototype.shift
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
Array.prototype.shift
Standard  
ECMAScript 2017 Draft (ECMA-262)
Array.prototype.shift
Draft  

浏览器支持

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 1.0 (1.7 or earlier) 5.5 (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

相关链接

文档标签和贡献者

 此页面的贡献者: Ende93, pd4d10, teoli, AlexChao, ziyunfei, endlesswind
 最后编辑者: Ende93,