[轉]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