前言
在JS中有许多的方法可以对可遍历对象进行遍历,但是性能各有不同,现在我就对不同方法做个小小的测试,看看哪些循环方法性能是比较高的
测试代码
测试的内容是给一个存有1千万个1的数组,分别计算和
- for of
let sum = 0; const of_start_time = new Date().getTime(); for (let item of array) { sum += item; } const of_end_time = new Date().getTime(); console.log(`of-- sum:${sum} --${of_end_time - of_start_time}`);
- for in
sum = 0; const in_start_time = new Date().getTime(); for (let index in array) { sum += array[index]; } const in_end_time = new Date().getTime(); console.log(`in-- sum:${sum} --${in_end_time - in_start_time}`);
- while
sum = 0; let count = 0; const while_start_time = new Date().getTime(); while (count < array.length) { sum += array[count]; count++; } const while_en