一、遍歷數組
1.一般的遍歷數組方法
length屬性是一個很特別的屬性,看到數組,大家一定會想到length, 那他具體有什么特性那?
簡單介紹:
1.數組是一組數據,length屬性表示這個數組中的內容的個數。簡稱數組的長度。
2.數組對象是沒有任何方法的,只有一個唯一的屬性length。
3.當設置屬性的時候,表示要修改該數組的長度。數組的長度會發生變化。
4.當讀取時,會實時返回數組的當時的長度。
for循環實現數組的遍歷
原理:
1.通過for 構造下標,根據下標取出具體元素
2.(變量名.length) 可以動態檢測數組元素的個數
3.arr[i] 表示的是第幾個,不是計數器,是數組元素
4.arr.length 表示有幾個 ,是數組的長度
2.forEach遍歷數組
forEach()函數從頭到尾把數組遍歷一遍。有三個參數分別是:數組元素,元素的索引,數組本身(如果是一個參數就是數組元素,也就是數組的值。
遍歷:
輸出結果:
由此可見:
1.val代表著數組中的值,而key代表著相對應數組的下標
2.方法用于調用數組的每個元素,并將元素傳遞給回調函數, 沒有返回值
定義:
map方法是通過循環的方式一個一個項的處理原來的數組,并返回新的數組,同時,不會改變原數組的值
輸出結果:
注意:
1.返回一個新的數組,但是不改變原數組
2.map方法有返回值,返回值用變量接收。
forEach()和map()的區別
for Each 和map 都是遍歷數組的方法,用法類似,但是還是有很大區別的
相同點:
1.都是循環遍歷數組中的每一項;
2.在遍歷中執行匿名函數都可以接收三個參數,分別為:遍歷過程的每一項、遍歷序號(索引值)、原數組;
3.執行的匿名函數中 的this都指向window。
不同點:
map(): 根據遍歷執行的匿名函數,對于原數組中的每個值產生一個對應的值,并返回一個新的數組,存在一個映射關系,并且不會改變原數組,不會對空數組進行檢測。
4.for of遍歷數組:
es6新增加一個for of循環 得到的是元素
優點:
· 不同用于forEach方法,它可以與break、continue和return配合使用
· 提供了遍歷所有數據結構的統一操作接口
注意:for of不能遍歷對象,如果需要遍歷對象,我們一般會使用for in 如下:
二、遍歷對象
1.for...in遍歷對象
一般用于遍歷對象 keys表示obj對象的每一個鍵值對的鍵1:遍歷對象
輸出結果:
2、遍歷數組(不適用)
輸出結果:
for…in循環讀取屬性名,通過屬性名再獲得屬性值
for…in循環主要是為遍歷對象而設計的,雖然可以遍歷數組,但是不提倡這么使用。
更多關于前端培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。