MST

星途 面试题库

面试题:JavaScript数组元素添加删除的专家级优化问题

在JavaScript中,有两个数组const arr1 = [1, 2, 3, 4, 5];和const arr2 = [6, 7, 8, 9, 10];,现在要将arr2的元素依次添加到arr1中,并删除arr1中所有能被3整除的元素,要求代码不仅实现功能,而且要在大规模数据下具有高度的优化性能,详细说明优化思路、使用的数据结构或算法,并给出完整代码。
13.6万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

优化思路

  1. 添加元素:使用 concat 方法合并数组,它会返回一个新数组,不会直接修改原数组,相较于使用 push 方法逐个添加元素,在大规模数据下性能更好,因为 push 每次调用都需要改变原数组的状态。
  2. 删除能被3整除的元素:使用 filter 方法,它会创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。filter 方法是基于数组原型的,性能相对较好,而且它的逻辑清晰,易于理解和维护。

使用的数据结构或算法

这里主要使用JavaScript的数组数据结构,以及数组提供的 concatfilter 方法。这两个方法内部都经过了优化,在大规模数据处理上能有较好的性能表现。

完整代码

const arr1 = [1, 2, 3, 4, 5];
const arr2 = [6, 7, 8, 9, 10];
const newArr = arr1.concat(arr2).filter(num => num % 3!== 0);
console.log(newArr);