小编Bre*_*den的帖子

为什么for循环比小数组的循环更快,而对于更大的数组更慢?

在JavaScript中,我注意到ES6 for ... of循环的性能与传统for (start; stop; step)循环有很大不同.

基准

const n = 10000;
const arr = Array(n).fill().map((e, i) => i); // [0, n)

console.log('n =', n);

let sum1 = 0;
console.time('for let i');
for (let i = 0; i < arr.length; i++) {
  sum1 += arr[i];
}
console.timeEnd('for let i');

let sum2 = 0;
console.time('for of');
for (let v of arr) {
  sum2 += v;
}
console.timeEnd('for of');
Run Code Online (Sandbox Code Playgroud)

结果

n = 10
for let i: 0.350ms
for of: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays performance

16
推荐指数
2
解决办法
386
查看次数

标签 统计

arrays ×1

javascript ×1

performance ×1