1、for循環:for循環是成熟且穩定的JS語法,可以很多復雜的環境中運行,當大量數據及復雜邏輯的時候,for循環性能最佳,它能通過每個屬性的 i 去針對性查找
let arr1=[1,2,3,4,5,6] let newArr=[] // for循環 for(let i=0;i<arr1.length;i++){ newArr.push(arr1[i]*2) }
輸出結果
2、for..in..:也是JS循環的一種,但是性能很低效,因為它會遍歷數組里的每一個屬性,包括不知名或者動態添加的屬性,全部查找遍歷的內存開銷很大,所以再開發盡量不要用for in
let arr1=[1,2,3,4,5,6] let newArr=[] //for in for(let x in arr1){ newArr.push(arr1[x]*2) }
輸出結果:
3、for...of...
let arr1=[1,2,3,4,5,6] let newArr=[] //for of for(let item of arr1){ newArr.push(item*2) }
輸出結果:
4、forEach:不會返回結果,必須要通過外部數組push
let arr1=[1,2,3,4,5,6] let newArr=[] //forEach:不會返回一個結果,而是undiefund arr1.forEach(item=>{ newArr.push(item*2) })
輸出結果:
5、map:返回一個新數組,它不會檢測一個空數組,也不會改變原始數組
let arr1=[1,2,3,4,5,6]//map:map返回一個新的數組,不會檢測空數組,也不會改變原始數組 let newArr=arr1.map((item)=>{ return item*2 })
輸出結果:
6、filter:遍歷過濾,它不會對空數組進行檢測,也不會改變原始數組,它能通過篩選條件快速給出遍歷結果,不符合條件的就不會去遍歷,符合條件的才會遍歷,極大的節省了遍歷開銷成本
let arr1=[1,2,3,4,5,6] function filterFN(num){ return num>3 } let newArr=arr1.filter(filterFN)
篩選結果:
具體的業務場景,用最合適方法