對一個數(shù)組 FILTER、SOME、MAP、FOREACH的操作分別有什么作用?

大家好,我是IT修真院北京總院第24期的學員,一枚正直純潔善良的web程序員

今天給大家分享一下,修真院官網(wǎng)JS任務4,深度思考中的知識點——對一個數(shù)組 FILTER、SOME、MAP、FOREACH的操作分別有什么作用?

1.背景介紹

循環(huán)(loop),指的是在滿足條件的情況下,重復執(zhí)行同一段代碼。比如,while語句。

迭代(iterate),指的是按照某種順序逐個訪問列表中的每一項。比如,for語句。

遍歷(traversal),指的是按照一定的規(guī)則訪問樹形結構中的每個節(jié)點,而且每個節(jié)點都只訪問一次。

遞歸(recursion),指的是一個函數(shù)不斷調用自身的行為。

數(shù)組,在編程語言中很重要,其中every()、filter()、some()、map()、forEach()是ECMAScript5為數(shù)組定義的5個迭代方法,是為了更方便的對數(shù)組進行操作。

2.知識剖析

首先,每個方法都接收兩個參數(shù):

(1)要在每一項上運行的函數(shù)。

(2)運行該函數(shù)的作用域對象—this(可選)

array.forEach(function () {

//do your staff here;

}, this);

傳入這些方法中的函數(shù)參數(shù)本身會接收三個參數(shù):

1、數(shù)組項的值;

2、該項在數(shù)組中的位置;

3、數(shù)組對象本身;

array.forEach(function (item, index, array) {

//do your staff here;

}, this);

3.常見問題

EVERY()、FILTER()、SOME()、MAP()、FOREACH()的用法?

4.解決方案

every():對數(shù)組的每一項運行給定函數(shù),如果該函數(shù)對每一項都返回true,則返回true,否則返回false

some():對數(shù)組的每一項運行給定函數(shù),如果該函數(shù)對任一項返回true,則返回true

filter():對數(shù)組的每一項運行給定函數(shù),返回該函數(shù)會返回true的項組成的數(shù)組

map():對數(shù)組的每一項運行給定函數(shù),返回每次函數(shù)調用的結果組成的數(shù)組

forEach():對數(shù)組的每一項運行給定函數(shù),這個方法沒有返回值


5.編碼實戰(zhàn)


6.擴展思考

相對于FOR(),JS數(shù)組自定義的數(shù)組迭代方式有哪些好處?

在實現(xiàn)相同功能的前提下,后者除了能夠節(jié)省代碼量外,在實現(xiàn)某些功能上的流程中存在很多有意思的優(yōu)勢, 比如forEach相比普通的for循環(huán)的優(yōu)勢在于對稀疏數(shù)組的處理,會跳過數(shù)組中的空位。 for+i在性能測試上是優(yōu)越于后者,但是前提是,array的length要事先計算出來,而在處理非常大量的數(shù)據(jù)時候, 后者的優(yōu)勢就顯而易見了。

json對象的轉換方法,兩次轉換

7.參考文獻

參考1:Js 數(shù)組——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()

參考2:《JS高級程序設計》

參考3:js數(shù)組操作--使用迭代方法替代for循環(huán)

8.更多討論

無提問


視頻鏈接

ppt鏈接

感謝大家觀看

今天的分享就到這里啦,歡迎大家點贊、轉發(fā)、留言、拍磚~

技能樹.IT修真院

“我們相信人人都可以成為一個工程師,現(xiàn)在開始,找個師兄,帶你入門,掌控自己學習的節(jié)奏,學習的路上不再迷?!薄?/b>

這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。快來與我一起學習吧~

我的邀請碼:12361358,或者你可以直接點擊此鏈接:http://www.jnshu.com/login/1/12361358

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

相關閱讀更多精彩內容

友情鏈接更多精彩內容