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。这种方式可以用来判断数组是否已经为空。

上一篇:

下一篇:

给站长反馈

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

邮箱:lvyenet@vip.qq.com

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