请说明数组的 pop 和 shift 方法的区别?

推荐答案

pop()shift() 都是 JavaScript 数组的方法,用于删除数组中的元素,并返回被删除的元素。它们的主要区别在于操作数组的位置:

  • pop(): 删除数组的最后一个元素,并返回被删除的元素。会改变原数组。
  • shift(): 删除数组的第一个元素,并返回被删除的元素。会改变原数组。

本题详细解读

pop() 方法

  • 作用: pop() 方法从数组的末尾删除一个元素,并且该方法会修改原始数组的长度。
  • 返回值: 返回被删除的元素。如果数组为空,则返回 undefined
  • 语法: array.pop()
  • 示例:在这个例子中,pop()删除了数组 arr 的最后一个元素 3,并返回了该值,同时 arr 变成了 [1, 2]

shift() 方法

  • 作用: shift() 方法从数组的开头删除一个元素,并且该方法会修改原始数组的长度。
  • 返回值: 返回被删除的元素。如果数组为空,则返回 undefined
  • 语法: array.shift()
  • 示例:在这个例子中,shift()删除了数组 arr 的第一个元素 1,并返回了该值,同时 arr 变成了 [2, 3]

总结

方法 操作位置 返回值 是否修改原数组
pop() 末尾 被删除元素
shift() 开头 被删除元素

性能考量

需要注意的是,由于 shift() 操作需要移动数组中剩余的所有元素来填补第一个位置的空缺,所以当操作大型数组时,shift()pop() 的性能要差。pop() 只需要简单地移除末尾的元素,而不需要移动其他元素。 因此,在需要频繁操作数组头部元素时,可以考虑其他数据结构,如链表或队列。

纠错
反馈