js数组各种遍历性能测试,马上测试

为了探究各种js遍历写法的性能,开发出方便测试工具,为了让你快速直观了解哪一种写法性能最好,选择一个最适合应用场景的写法。

普通for循环

普通for循环是最简单,使用频率最高的一种,写法有些繁杂,但性能却不弱。

for(var i = 0; i < arr.length; i++) {

}

优化版for循环

这种for循环再遍历之前先把数组长度存起来,每次遍历不用再计算数组长度,从而提高遍历性能,数组较大时效果明显。

for(i = 0,len=arr.length; i < len; i++) {

}

foreach循环

foreach循环使用频率较高,但性能还是比不上普通for循环

arr.forEach(function(e){

})

for in循环

for in循环使用的人也不少,在测试中,效率也不高

for(i in arr) {

}

map遍历

map遍历也是用的比较广泛的,虽然用起来比较优雅,但实际效率还比不上foreach

arr.map(function(n){

})

for of遍历(需要ES6支持)

这种方式是es6里面用到的,性能要好于for in,但仍然比不上普通for循环

for(let value of arr) {

})

总结

性能最好的依然是普通for循环,普通for循环写法上没有forEach、map之类的好写,但在追求 性能的情况下优先考虑这种,或者用普通for循环先把长度存起来效率最高。

经验分享 程序员 微信小程序 职场和发展