MST

星途 面试题库

面试题:JavaScript数组元素添加删除的中等难度优化问题

假设有一个JavaScript数组const arr = [1, 2, 3, 4, 5];,现在要在数组开头添加元素0,并在数组末尾删除元素5,要求使用更优化的代码实现,请写出代码并简要说明优化思路。
11.0万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
const arr = [1, 2, 3, 4, 5];
arr.unshift(0);
arr.pop();
console.log(arr);

优化思路:

  • 使用unshift方法在数组开头添加元素,其时间复杂度为O(n),因为在数组开头添加元素需要将原数组元素依次向后移动一位。相比创建新数组再拼接,这种直接在原数组操作的方式更高效。
  • 使用pop方法在数组末尾删除元素,其时间复杂度为O(1),因为删除数组末尾元素不需要移动其他元素,直接修改数组长度即可。这两个方法结合,以较为高效的方式实现了题目要求。