JavaScript中數(shù)組遍歷方法合集大全
一、for 循環(huán)(遍歷數(shù)組、列表或其他可迭代對(duì)象中的元素)
在JavaScript中,for循環(huán)是一種常見(jiàn)的控制結(jié)構(gòu),用于重復(fù)執(zhí)行一段代碼。它通常用于遍歷數(shù)組、列表或其他可迭代對(duì)象中的元素。
for…of 循環(huán):用于遍歷可迭代對(duì)象的元素 (不能用于對(duì)象循環(huán))。
for…in 循環(huán):用于遍歷對(duì)象的屬性(索引) (對(duì)數(shù)組或者對(duì)象的屬性進(jìn)行循環(huán)操作)。
for…if 循環(huán):結(jié)合了 for 和 if 語(yǔ)句,先進(jìn)行條件判斷,如果條件滿(mǎn)足則執(zhí)行循環(huán)體。

二、forEach(不會(huì)修改數(shù)組本身,而是創(chuàng)建一個(gè)新的數(shù)組)
用于遍歷數(shù)組中的每個(gè)元素并執(zhí)行提供的函數(shù)。這個(gè)方法不會(huì)修改數(shù)組本身,而是創(chuàng)建一個(gè)新的數(shù)組。
接收回調(diào)函數(shù)作為參數(shù),這個(gè)回調(diào)函數(shù)會(huì)在數(shù)組的每個(gè)元素上被調(diào)用。回調(diào)函數(shù)接受三個(gè)參數(shù):當(dāng)前元素、當(dāng)前元素的索引和原始數(shù)組。

三、map(不會(huì)修改數(shù)組本身,而是創(chuàng)建一個(gè)新的數(shù)組)
map 方法是數(shù)組的一個(gè)方法,會(huì)返回一個(gè)新數(shù)組,新數(shù)組的元素為原始數(shù)組元素調(diào)用函數(shù)處理的后return返回的值。
不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè),不會(huì)改變?cè)紨?shù)組

四、some(不會(huì)修改數(shù)組本身,返回布爾值,判斷是否有元素滿(mǎn)足)
用于測(cè)試數(shù)組中是否有元素滿(mǎn)足提供的函數(shù)中的條件。這個(gè)方法會(huì)遍歷數(shù)組的每個(gè)元素,并對(duì)每個(gè)元素執(zhí)行一次提供的函數(shù)。如果該函數(shù)對(duì)任何一個(gè)元素返回 true,則 some 方法立即返回 true。如果沒(méi)有元素滿(mǎn)足條件,則返回 false。
參數(shù)說(shuō)明:
currentValue:數(shù)組中正在處理的當(dāng)前元素。
index(可選):數(shù)組中正在處理的當(dāng)前元素的索引。
array(可選):some 被調(diào)用的數(shù)組。
不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè),不會(huì)改變?cè)紨?shù)組

五、every(不會(huì)修改數(shù)組本身,返回布爾值,判斷所有元素是否都滿(mǎn)足)
用于測(cè)試數(shù)組中的所有元素是否都滿(mǎn)足提供的函數(shù)中的條件。這個(gè)方法會(huì)遍歷數(shù)組的每個(gè)元素,并對(duì)每個(gè)元素執(zhí)行一次提供的函數(shù)。如果該函數(shù)對(duì)所有元素都返回 true,則 every 方法返回 true。如果有任何元素不滿(mǎn)足條件,則返回 false。參數(shù)說(shuō)明:
currentValue:數(shù)組中正在處理的當(dāng)前元素。
index(可選):數(shù)組中正在處理的當(dāng)前元素的索引。
array(可選):every 被調(diào)用的數(shù)組。
不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè),不會(huì)改變?cè)紨?shù)組

六、filter(不會(huì)修改數(shù)組本身,而是創(chuàng)建一個(gè)新的數(shù)組,找到第一個(gè)滿(mǎn)足條件的結(jié)束)
用于返回?cái)?shù)組中滿(mǎn)足所提供函數(shù)的第一個(gè)元素的值。如果沒(méi)有滿(mǎn)足條件的元素,則返回 undefined。這個(gè)方法只遍歷到找到第一個(gè)符合條件的元素為止,不會(huì)對(duì)整個(gè)數(shù)組進(jìn)行遍歷。
參數(shù)說(shuō)明:
currentValue:數(shù)組中正在處理的當(dāng)前元素。
index(可選):數(shù)組中正在處理的當(dāng)前元素的索引。
array(可選):filter 被調(diào)用的數(shù)組。
不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè),不會(huì)改變?cè)紨?shù)組,會(huì)返回新的數(shù)組

七、find(不會(huì)修改數(shù)組本身,返回符合條件的第一個(gè)元素)
用于創(chuàng)建一個(gè)新數(shù)組,包含通過(guò)所提供函數(shù)實(shí)現(xiàn)的所有元素。這個(gè)方法會(huì)遍歷數(shù)組的每個(gè)元素,并對(duì)每個(gè)元素執(zhí)行一次提供的函數(shù)。如果該函數(shù)對(duì)某個(gè)元素返回 true,則該元素被包含在返回的新數(shù)組中***(返回符合條件的第一個(gè)元素)***。
參數(shù)說(shuō)明:
currentValue:數(shù)組中正在處理的當(dāng)前元素。
index(可選):數(shù)組中正在處理的當(dāng)前元素的索引。
array(可選):find 被調(diào)用的數(shù)組。
不會(huì)對(duì)空數(shù)組進(jìn)行檢測(cè),不會(huì)改變?cè)紨?shù)組

八、findIndex(返回符合條件的第一個(gè)元素的索引)
返回?cái)?shù)組中滿(mǎn)足提供的函數(shù)的 第一個(gè)元素 的 索引 。如果沒(méi)有滿(mǎn)足條件的元素,則返回 -1
參數(shù)說(shuō)明:
currentValue:數(shù)組中正在處理的當(dāng)前元素。
index(可選):數(shù)組中正在處理的當(dāng)前元素的索引。
array(可選):.findIndex()被調(diào)用的數(shù)組。

九、reduce(累加,從左往右)
用于將數(shù)組中的元素通過(guò)指定的函數(shù)簡(jiǎn)化為單個(gè)輸出值,根據(jù)條件累加,對(duì)于空數(shù)組是不會(huì)執(zhí)行回調(diào)函數(shù)的(從左往右)
參數(shù)說(shuō)明:
accumulator(累加器):在每次迭代中,都會(huì)將上一次迭代返回的值作為第一個(gè)參數(shù)傳入,與當(dāng)前元素一起執(zhí)行函數(shù),并更新累加器的值。
currentValue:數(shù)組中正在處理的當(dāng)前元素
array(可選):reduce 被調(diào)用的數(shù)組。
initialValue(可選):作為第一次調(diào)用回調(diào)函數(shù)的第一個(gè)參數(shù)的值。如果沒(méi)有提供初始值,則從數(shù)組的第一個(gè)元素開(kāi)始處理。

十、reduceRight(累加,從右往左)
用于從數(shù)組的右側(cè)開(kāi)始將元素通過(guò)指定的函數(shù)簡(jiǎn)化為單個(gè)輸出值
參數(shù)說(shuō)明:
accumulator(累加器):在每次迭代中,都會(huì)將上一次迭代返回的值作為第一個(gè)參數(shù)傳入,與當(dāng)前元素一起執(zhí)行函數(shù),并更新累加器的值。
currentValue:數(shù)組中正在處理的當(dāng)前元素
array(可選):reduceRight 被調(diào)用的數(shù)組。
initialValue(可選):作為第一次調(diào)用回調(diào)函數(shù)的第一個(gè)參數(shù)的值。如果沒(méi)有提供初始值,則從數(shù)組的最后一個(gè)元素開(kāi)始處理。

總結(jié)
到此這篇關(guān)于JavaScript中數(shù)組遍歷方法合集的文章就介紹到這了,更多相關(guān)JS數(shù)組遍歷方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript中的"=、==、==="區(qū)別講解
今天小編就為大家分享一篇關(guān)于JavaScript中的"=、==、==="區(qū)別講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01
一直都需要的復(fù)制到系統(tǒng)剪貼板之IE,firefox兼容版
一直都需要的復(fù)制到系統(tǒng)剪貼板之IE,firefox兼容版...2007-09-09
JS在onclientclick里如何控制onclick的執(zhí)行
這篇文章主要介紹了JS在onclientclick里如何控制onclick的執(zhí)行的相關(guān)資料,需要的朋友可以參考下2016-05-05
在JS中a標(biāo)簽加入單擊事件屏蔽href跳轉(zhuǎn)頁(yè)面
這篇文章主要介紹了JS中a標(biāo)簽加入單擊事件屏蔽href跳轉(zhuǎn)頁(yè)面的相關(guān)資料,需要的朋友可以參考下2016-12-12
javascript 身份證號(hào)碼驗(yàn)證函數(shù)(可辨真?zhèn)?,支?5或18位身份證號(hào))測(cè)試誤差為0
javascript 身份證號(hào)碼驗(yàn)證函數(shù)(可辨真?zhèn)危С?5或18位身份證號(hào))測(cè)試誤差為0 ,非常不錯(cuò),其實(shí)主要是特別熟悉身份證的算法。2010-05-05
動(dòng)態(tài)更新highcharts數(shù)據(jù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇?jiǎng)討B(tài)更新highcharts數(shù)據(jù)的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
ES6知識(shí)點(diǎn)整理之對(duì)象解構(gòu)賦值應(yīng)用示例
這篇文章主要介紹了ES6知識(shí)點(diǎn)整理之對(duì)象解構(gòu)賦值應(yīng)用,結(jié)合實(shí)例形式分析了ES6對(duì)象解構(gòu)賦值相關(guān)概念、原理、出現(xiàn)的問(wèn)題及相應(yīng)解決方法,需要的朋友可以參考下2019-04-04

