各種遍歷方法(重點for....of)
1、普通傳統的遍歷
let arr = [1,2,3,4,5]; //普通遍歷方法 for(let i=0;i<arr.length;i++){ console.log(arr[i]); }
2、foEach()參數第一個值,第二個索引
arr.forEach((i,v)=>{ console.log(i); console.log(v); })
注意:
foreach foreach 方法沒辦法使用 break 語句跳出循環,或者使用return從函數體內返回
問題:循環一旦開始了不能結束
3、for....in
1.index 值 是字符串(String)類型
2.循環不僅會遍歷數組元素,還會遍歷任意其他自定義添加的屬性,如,objArr上面包含自定義屬性,objArr.name,那這次循環中也會出現此name屬性
3.某些情況下,上述代碼會以隨機順序循環數組
4、for-in循環設計之初,是給普通以字符串的值為key的對象使用的。而非數組
for(let i in arr){ console.log(i); console.log(typeof i) }
4、for...of
for...of 遍歷 //寫起來簡單 可以隨時退出循環 獲取不到索引
1.可以避免所有 for-in 循環的陷阱
2.不同於 forEach() ,可以使用 break, continue 和 return
3.for-of 循環不僅僅支持數組的遍歷。同樣適用於很多類似數組的對象
4.它也支持字符串的遍歷
5.for-of 並不適用於處理原有的原生對象
for(let i of arr){ console.log(arr[i]); } let str = "考了幾分才能考上好大學"; for(let i of str){ console.log(i); }