JavaScript 数组 shift() 方法

JavaScript shift() 语法

shift() 是 JavaScript 数组的一个方法,它用于删除数组的第一个元素,并返回被删除的元素。

语法:

arr.shift()

说明:

shift() 方法不接收任何参数。shift() 一次性只能删除一个元素。如果想要删除多个元素,可以调用多次 shift() 方法。

如果 arr 是一个空数组,则 shift() 会返回 undefined

注意:

  • shift() 是一个 “破坏性” 方法,它会改变原数组。
  • shift() 方法是有返回值的,不过它的返回值并非删除后的数组,而是当前被删除的元素。
  • 与 pop() 不同,shift() 方法在处理大型数组时效率较低。因为删除第一个元素后,数组中剩余的所有元素都需要向前移动一位,这会重新计算所有元素的索引。

很多数据结构都有 “增删查改” 这 4 种操作,数组的相关方法如下表所示。

数组的 “增删查改” 方法
方法 说明
unshift() 在数组开头添加元素
shift() 在数组开头删除元素
push() 在数组结尾添加元素
pop() 在数组结尾删除元素

JavaScript shift() 摘要

属于 JavaScript Array 对象
使用频率
修改原数组
官方文档 查看
MDN 查看

JavaScript shift() 示例

接下来,我们通过几个简单的例子来讲解一下 JavaScript shift() 方法是如何使用的。

示例 1:shift() 删除一个元素

const arr = ["Python", "C++", "Java", "Go", "Rust"];
const result = arr.shift();

console.log(arr);
console.log(result);

运行结果如下。

[ 'C++', 'Java', 'Go', 'Rust' ]
Python

分析:

shift() 方法会改变原数组,它返回的是被删除的元素。当然了,如果你不需要用到 shift() 方法的返回值,不使用变量来接收也是可以的。比如:

const arr = ["Python", "C++", "Java", "Go", "Rust"];
arr.shift();
console.log(arr);         // 输出:[ 'C++', 'Java', 'Go', 'Rust' ]

示例 2:shift() 删除多个元素

const arr = ["Python", "C++", "Java", "Go", "Rust"];
arr.shift();
arr.shift();
console.log(arr);

运行结果如下。

[ 'Java', 'Go', 'Rust' ]

分析:

想要删除多少个开头的元素,就调用多少次 shift() 方法即可。

示例 3:shift() 对空数组的操作

const arr = [];
const result = arr.shift();

console.log(arr);
console.log(result);

运行结果如下。

[]
undefined

分析:

当对空数组调用 shift() 时,数组保持不变,并且返回 undefined。这种方式可以用来判断数组是否已经为空。

上一篇: push()

下一篇: pop()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号