1. 程式人生 > >JS中部分陣列遍歷方法以及效能

JS中部分陣列遍歷方法以及效能

第一種:普通for迴圈

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

最簡單、用的最多的一種。效能不錯,還可以繼續優化

第二種:for迴圈plus

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

設定了臨時變數len獲取陣列長度,避免重複獲取,這種方法效能最高。

第三種:foreach迴圈

arr.forEach(function(e){  
   
});

陣列自帶的迴圈方式,雖然用的多,但沒有普通for迴圈效能高

第四種:for in迴圈

for(i in arr) {
   
}

可以獲取到arr的鍵

這個,是眾多迴圈中,效率最慢的一個,雖然用的人多.....

第五種:forof遍歷(需要ES6支援)

for(let i of arr) {  
   
});

可以獲取到值

這種方式是es6裡面用到的,效能要好於forin,但仍然比不上普通for迴圈

 

各種遍歷方式的效能對比

在支援es6的瀏覽器中運行了1000次後得出的結論

  • forin 迴圈最慢
  • for迴圈plus最快
  • 不過我還是覺得普通for迴圈好看