MST
星途 面试题库

面试题:JavaScript 数组元素读写的中等难度问题

给定一个较大的 JavaScript 数组,例如包含10000个数字的数组,要求实现一个函数,高效地读取数组中所有能被3整除的元素,并将它们的平方值写入到一个新数组中。请说明你采用的策略及其优势。
35.4万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
function processArray(arr) {
    return arr.filter(num => num % 3 === 0).map(num => num * num);
}

策略

  1. 使用filter方法filter方法会创建一个新数组,其包含通过所提供函数实现的测试的所有元素。在这里,使用num % 3 === 0作为测试函数,筛选出能被3整除的元素。
  2. 使用map方法map方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。这里将筛选出的元素进行平方运算。

优势

  1. 链式调用,简洁高效:通过链式调用filtermap方法,代码简洁明了,易于理解和维护。
  2. 性能优化filtermap方法在JavaScript引擎中经过了优化,对于大规模数组的处理效率较高。它们采用了迭代器模式,不会一次性将所有数据加载到内存中,减少了内存的占用。