MST

星途 面试题库

面试题:JavaScript数组长度优化 - 中等难度

在JavaScript中,给定一个包含大量元素的数组,为了减少获取数组长度时的性能开销,你会采取哪些常见的策略?请举例说明。
16.8万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 缓存数组长度: 在循环开始前,将数组长度缓存到一个变量中。这样在每次循环时,不需要重复获取数组的 length 属性,从而减少性能开销。
const largeArray = Array.from({ length: 1000000 }, (_, i) => i + 1);
let len = largeArray.length;
for (let i = 0; i < len; i++) {
    console.log(largeArray[i]);
}
  1. 使用 for...of 循环for...of 循环不需要获取数组长度,它直接迭代数组元素,因此在一定程度上可以避免获取长度带来的性能开销。
const largeArray = Array.from({ length: 1000000 }, (_, i) => i + 1);
for (const element of largeArray) {
    console.log(element);
}
  1. 使用 while 循环并缓存索引和长度
const largeArray = Array.from({ length: 1000000 }, (_, i) => i + 1);
let i = 0;
let len = largeArray.length;
while (i < len) {
    console.log(largeArray[i]);
    i++;
}