1. 程式人生 > >swift中高階函數map、flatMap、filter、reduce

swift中高階函數map、flatMap、filter、reduce

title pre tle 優點 www code html log 編程

Swift相比於Objective-C又一個重要的優點,它對函數式編程提供了很好的支持,Swift提供了map、filter、reduce這三個高階函數作為對容器的支持。

1 map:可以對數組中的每一個元素做一次處理

技術分享圖片

技術分享圖片

2 flatMap與map不同之處:

  (1)flatMap返回後的數組中不存在nil,同時它會把Optional解包

技術分享圖片

技術分享圖片

  (2)flatMap還能把數組中存有數組的數組(二維數組、N維數組)一同打開變成一個新的數組

技術分享圖片

技術分享圖片

  (3)flatMap也能把兩個不同的數組合並成一個數組,這個合並的數組元素個數是前面兩個數組元素個數的乘積

技術分享圖片

技術分享圖片

3 filer:過濾,可以對數組中的元素按照某種規則進行一次過濾

技術分享圖片

技術分享圖片

4 reduce:計算,可以對數組的元素進行計算

技術分享圖片

技術分享圖片

https://www.cnblogs.com/muzijie/p/6542650.html

swift中高階函數map、flatMap、filter、reduce