在循環遍歷數組或對象時,經常會使用到for in循環或者forEach循環方式,這里介紹下它們的區別。
首先,先定義數組,這里簡單定義一個一維數組。
1.for循環
而除了剛才說到的兩種循環遍歷方式,還有JS中一直使用的for循環。
通過控制台輸出查看
這里的i是指數組的索引下標,for循環只能通過循環索引值,再通過索引值來獲取對應數據。
2.forEach循環
同樣通過控制台輸出val和key。
forEach循環可以定義參數,這里的參數:
參數1:val,直接存儲的是數組單元的數據,不需要通過索引值來獲取;
參數2:key,存儲的是對應數組單元的索引值。
這里的兩個參數互不影響,一般在循環數組時,我們通常使用這種循環方式,並且根據項目需求來決定定義幾個參數,當然,參數名稱自己定義。但是,這種循環是不能通過break、continue和return語句來終止循環的。
3.for in循環
控制台輸出
for in循環,是通過自定義變量k循環遍歷數組,這里的k,即為數組的索引值,我們同樣要通過索引值,來獲取數組單元的數據。
但要注意的是,這里的變量k,存儲的數據是字符串類型,若后續要使用參與相關運算,要先提前轉變為數值類型。
for in循環,更多用來循環遍歷對象,當循環遍歷對象時,變量k中存儲的是對象的屬性。