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

大家好,我是IT修真院北京分院第23期的學員郭婷婷,一枚正直純潔善良的WEB前端程序員。

今天給大家分享一下,修真院官網js任務4中涉及的對一個數組 FILTER、SOME、MAP、FOREACH的操作分別有什么作用?

小課堂【北京第229期】

分享人:郭婷婷

1.背景介紹

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

2.知識剖析

首先,每個方法都接收兩個參數:

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

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

其次,傳入這些方法中的函數參數本身會接收三個參數:數組項的值;該項在數組中的位置;數組對象本身。

3.常見問題

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

4 解決方案

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

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

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

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

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

5.編碼實戰

6.擴展思考

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

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

7.參考文獻

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

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

參考3:js數組操作--使用迭代方法替代for循環

8 更多討論

鳴謝

感謝大家觀看

BY : 郭婷婷

PPT鏈接:https://ptteng.github.io/PPT/PPT/js-04-filter&foreach&map&some.html

視頻鏈接:https://pan.baidu.com/s/1qYc9n1y? 密碼: ctxs

--------------------------------------------------------------------------------------------------------------------

技能樹.IT修真院

“我們相信人人都可以成為一個工程師,現在開始,找個師兄,帶你入門,掌控自己學習的節奏,學習的路上不再迷茫”。

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

猛戳這里

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容