js中删除数组元素shift()方法

shift() 方法用于移除数组第一个元素并返回该元素,原数组长度减1;若数组为空则返回undefined,且该方法会直接修改原数组。

shift() 是 JavaScript 中用于删除数组元素的一个内置方法。它会移除数组中的第一个元素,并返回被删除的这个元素。调用该方法后,原数组的长度会减少 1。

shift() 方法的基本语法

使用方式非常简单:

array.shift()

它不需要传入任何参数,返回值是被删除的第一个元素。如果数组为空,则返回 undefined

实际使用示例

来看几个常见的使用场景:

let fruits = ['apple', 'banana', 'orange'];
let firstFruit = fruits.shift();

console.log(firstFruit); // 输出: "apple"
console.log(fruits); // 输出: ['banana', 'orange']

可以看到,调用 shift() 后,原数组 fruits 的第一个元素被移除了。

空数组调用 shift() 的情况

如果对一个空数组使用该方法:

let emptyArr = [];
let result = emptyArr.shift();

console.log(result); // 输出: undefined
console.log(emptyArr); // 输出: []

不会报错,只是返回 undefined,数组仍为空。

注意事项

  • 改变原数组:shift() 是一个会修改原数组的方法,不是纯函数。
  • 如果想删除最后一个元素,应使用 pop() 方法。
  • 若想不修改原数组删除第一个元素,可以用 slice(1) 创建新数组。

基本上就这些。shift() 方法适合在需要“出队”操作时使用,比如实现队列结构。