前端開(kāi)發(fā)中給我們提供了數(shù)組這個(gè)概念,很多的數(shù)據(jù)可以存在一個(gè)數(shù)組中,但當(dāng)我們需要尋找里面的數(shù)據(jù)的時(shí)候就需要遍歷數(shù)組,那么遍歷數(shù)組都有哪些方式呢?
一.for循環(huán)
length屬性是一個(gè)很特別的屬性,看到數(shù)組,大家一定會(huì)想到length, 那他具體有什么特性那?
1.數(shù)組是一組數(shù)據(jù),length屬性表示這個(gè)數(shù)組中的內(nèi)容的個(gè)數(shù)。簡(jiǎn)稱數(shù)組的長(zhǎng)度。
2.數(shù)組對(duì)象是沒(méi)有任何方法的,只有一個(gè)唯一的屬性length。
3.當(dāng)設(shè)置屬性的時(shí)候,表示要修改該數(shù)組的長(zhǎng)度。數(shù)組的長(zhǎng)度會(huì)發(fā)生變化。
4.當(dāng)讀取時(shí),會(huì)實(shí)時(shí)返回?cái)?shù)組的當(dāng)時(shí)的長(zhǎng)度。
for循環(huán)實(shí)現(xiàn)數(shù)組的遍歷
原理:
1.通過(guò)for 構(gòu)造下標(biāo),根據(jù)下標(biāo)取出具體元素
2.(變量名.length) 可以動(dòng)態(tài)檢測(cè)數(shù)組元素的個(gè)數(shù)
3.arr[i] 表示的是第幾個(gè),不是計(jì)數(shù)器,是數(shù)組元素
4.arr.length 表示有幾個(gè) ,是數(shù)組的長(zhǎng)度
二、forEach
forEach()函數(shù)從頭到尾把數(shù)組遍歷一遍。有三個(gè)參數(shù)分別是:數(shù)組元素,元素的索引,數(shù)組本身(如果是一個(gè)參數(shù)就是數(shù)組元素,也就是數(shù)組的值。
輸出結(jié)果:
由此可見(jiàn):
1.val代表著數(shù)組中的值,而key代表著相對(duì)應(yīng)數(shù)組的下標(biāo)
2.方法用于調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù), 沒(méi)有返回值
三、map()
map方法是通過(guò)循環(huán)的方式一個(gè)一個(gè)項(xiàng)的處理原來(lái)的數(shù)組,并返回新的數(shù)組,同時(shí),不會(huì)改變?cè)瓟?shù)組的值
輸出結(jié)果:
注意:
1.返回一個(gè)新的數(shù)組,但是不改變?cè)瓟?shù)組
2.map方法有返回值,返回值用變量接收。
四、for of遍歷數(shù)組
es6新增加一個(gè)for of循環(huán) 得到的是元素
優(yōu)點(diǎn):
不同用于forEach方法,它可以與break、continue和return配合使用
提供了遍歷所有數(shù)據(jù)結(jié)構(gòu)的統(tǒng)一操作接口
注意:
for of不能遍歷對(duì)象。
喜歡web前端的同學(xué),可以參考千鋒web前端培訓(xùn)班提供的web前端學(xué)習(xí)路線,該學(xué)習(xí)路線對(duì)從零基礎(chǔ)小白到web前端初級(jí)開(kāi)發(fā)工程師,web前端高級(jí)開(kāi)發(fā)工程師,后面的web前端大神級(jí)開(kāi)發(fā)工程師都有一個(gè)明確清晰的指導(dǎo),根據(jù)千鋒web前端培訓(xùn)機(jī)構(gòu)提供的web前端學(xué)習(xí)路線圖可以讓你對(duì)學(xué)習(xí)web前端開(kāi)發(fā)需要掌握的知識(shí)有個(gè)清晰的了解,并快速入門web前端開(kāi)發(fā)。想要獲取前端完整學(xué)習(xí)路線和免費(fèi)的學(xué)習(xí)資料可以添加我們的web前端技術(shù)分享交流qq群:857920838 加群找群管理領(lǐng)取即可,等你來(lái)哦~~