JavaScript 面试题
目录

请说明数组的 push 和 unshift 方法的区别?

· 约 2 分钟读完 · 第 59 / 507 章

推荐答案

push() 和 unshift() 都是 JavaScript 数组中用于添加元素的方法,主要的区别在于它们添加元素的位置以及返回值:

  • push():

    • 将一个或多个元素添加到数组的末尾。
    • 返回修改后数组的新长度。
    • 会改变原数组。
  • unshift():

    • 将一个或多个元素添加到数组的开头。
    • 返回修改后数组的新长度。
    • 会改变原数组。

本题详细解读

共同点

  • 都会修改原数组: 这两个方法都会直接修改调用它们的原始数组。
  • 都会返回新数组的长度: 无论是使用 push() 还是 unshift(),方法的返回值都是数组在添加元素后的新长度。

不同点

  • 添加位置: 这是两者最核心的区别。push() 在数组的末尾添加元素,而 unshift() 在数组的开头添加元素。
  • 性能差异: 由于 unshift() 需要将现有元素向后移动以腾出空间,因此在处理大型数组时,unshift() 的性能通常比 push() 低。push() 直接在末尾添加元素,效率更高。

使用场景

  • push(): 通常用于在数组末尾追加数据,例如:

    • 构建一个数据队列 (后进先出)。
    • 将新接收的数据添加到已有的数据列表中。
  • unshift(): 通常用于在数组开头插入数据,例如:

    • 构建一个数据队列 (先进先出)。
    • 需要在数组的最前面添加新的重要数据。

示例代码

总结

(这里不要有总结,按照题目要求)