[转]Js遍历数组的方式及其性能对比


Js数组遍历,基本有for、forin、forEach、forof、map等一些方法,下面进行对比分析:

  1>.普通for循环(最简单一种,使用频率高,性能不差,但仍然有优化空间)。  

var arr = ['wukong', 'bajie', 'shaseng' ]
for(var i = 0; i < arr.length; i++) {
   console.log(arr[i])
} 

   2>.优化版for循环(优化后将长度缓存起来,避免重复获取长度,当数据较大时,回报比较明显。性能上基本算最高)。  

var arr = ['wukong', 'bajie', 'shaseng' ];
var len = arr.length;
for(var i = 0; i < len; i++) {
   console.log(arr[i])
} 

   3>.forEach循环(数组自带的forEach,使用频率高,实际性能比普通for循环弱)

var arr = ['wukong', 'bajie', 'shaseng' ];
arr.forEach(element => {
   console.log(element);
} 

  4>.forin循环(效率最低)

var arr = ['wukong', 'bajie', 'shaseng' ];
for(let i in arr){
    console.log(arr[i]) 
})

  5>.map(使用比较广泛,虽然优雅,但是效率其实还不如forEach)

var arr = ['wukong', 'bajie', 'shaseng' ];
arr.map(function(e)) {
   console.log(e);
} 

  6>.forof循环遍历(需要ES6的支持)

var arr = ['wukong', 'bajie', 'shaseng' ];
for(let value of arr){
    console.log(value) 
} 

综合而言,forin最慢,优化后的for循环最快。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM