- 缓存数组长度:
在循环开始前,将数组长度缓存到一个变量中。这样在每次循环时,不需要重复获取数组的
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]);
}
- 使用
for...of
循环:
for...of
循环不需要获取数组长度,它直接迭代数组元素,因此在一定程度上可以避免获取长度带来的性能开销。
const largeArray = Array.from({ length: 1000000 }, (_, i) => i + 1);
for (const element of largeArray) {
console.log(element);
}
- 使用
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++;
}