循環數組有幾種方法?

Image result for js image


第一種: 普通for循環

for( i=0; i<arr.length;i++){ }複製代碼

最簡單的一種,也是使用頻率最高的一種,雖然性能不弱,但仍有優化空間es6


第二種: 優化版for循環

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

使用臨時變量將長度緩存起來,避免重複獲取數組長度,當數組較大時優化效果纔會比較明顯,這種方法基本上是全部循環遍歷方法中性能最高的一種數組


第三種: forEach循環

arr.forEach(item=>{ })複製代碼

數組自帶的forEach循環,使用頻率較高,實際上性能比普通for循環弱緩存


第四種: forEach變種

Array.prototype.forEach.call(arr,item=>{ })複製代碼

由於forEach是Array自帶的,對於一些非這種類型的,沒法直接使用(如NodeList), 全部纔有了這個變種,使用這個變種可讓相似的數組擁有forEach功能bash


第五種: for in 循環 

for( var i in arr){ }複製代碼

在衆多循環方式種,它的效率是最低的性能


第六種: map 遍歷

arr.map(item=>{ })複製代碼

使用起來優雅,但實際效率不如forEach優化


第七種: for of 遍歷(ES6 support)

for( let i of arr){ }複製代碼

es6中用到的,性能好於for in,但仍比不上普通for循環ui

相關文章
相關標籤/搜索