for循环性能
2020-12-23 本文已影响0人
drneilc
常用的for循环方式有for、foreach、for in、倒序等等,偶然看到for循环性能问题,这次特意测试一下各个方法的性能。
先上代码
var arr = new Array(10000).fill(1);
console.time();
for(var i = 0; i < arr.length; i++){};
console.timeEnd();
console.time();
for(var i = 0, len = arr.length; i < len; i++){};
console.timeEnd();
console.time();
for(var i = arr.length; i > 0; i--){};
console.timeEnd();
console.time();
arr.forEach(item => {});
console.timeEnd();
console.time();
for(var item in arr){};
console.timeEnd();
console.time();
arr.map(item => {});
console.timeEnd();
我先用了10000的数组进行测试,我们看一下结果:
WX20201223-151357.png WX20201223-151432.png WX20201223-151512.png
为了避免偶然性,我截取了三次执行的结果图片,通过结果我们可以清晰的看到,for in用时最多...
接下来我们用同样的方法,用1000000的数组进行测试:
WX20201223-151826.png
WX20201223-151844.png WX20201223-151910.png
此方法仅仅作为测试,不作为任何依据,仅仅是一个探索,毕竟没有人会在前端做一百万条数据的遍历。