map/forEach/filter/some/every/reduce的區(qū)別與聯(lián)系

在js中數(shù)組的遍歷循環(huán)是最最常用的方式,經(jīng)常會將map/forEach/filter/some/every/reduce弄混淆,現(xiàn)在就將上面6個方法總結(jié)如下:

filter():返回一個符合func條件的元素數(shù)組
map():返回一個新的Array,每個元素為調(diào)用func的結(jié)果
forEach():沒有返回值,只是針對每個元素調(diào)用func
some():返回一個boolean,判斷是否有元素是否符合func條件
every():返回一個boolean,判斷每個元素是否符合func條件

返回值 原數(shù)組是否改變 傳參 參數(shù)的含義 使用方式
filter 新數(shù)組 不改變 function(currentValue,index,arr){ } 當(dāng)前值/索引值/ 對應(yīng)的數(shù)組 對數(shù)組進(jìn)行過濾
map 新數(shù)組 不改變 function(currentValue,index,arr){ } 當(dāng)前值/索引值/ 對應(yīng)的數(shù)組 對數(shù)組進(jìn)行改變
forEach 不改變 function(currentValue,index,arr){ } 當(dāng)前值/索引值/ 對應(yīng)的數(shù)組 最簡單的遍歷
some boolean 不改變 function(currentValue,index,arr){ } 當(dāng)前值/索引值/ 對應(yīng)的數(shù)組
every boolean 不改變 function(currentValue,index,arr){ } 當(dāng)前值/索引值/ 對應(yīng)的數(shù)組
reduce 求和
filter
map
forEach
some

這個方法的區(qū)別與聯(lián)系:

filter與map
?①:均是返回的新數(shù)組
?②:改變數(shù)組的時候用map, 想對數(shù)組進(jìn)行過濾用filter.

forEach
?沒有返回值,是最簡單的遍歷的方式.

some與every
?①:返回的都是boolean類型.
?②:some是有一個符合就是true,every只要有一個是假均是false.

reduce
?求和時使用

具體的還可以看如下的鏈接:
https://blog.csdn.net/cddcj/article/details/70173032
https://blog.csdn.net/github_31392345/article/details/48631067

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容