Swift:map 和 flatMap 基礎入門
借助于 map和flapMap 函數能夠很輕易地將數組轉換成另外一個新數組。
Map
map
函數能夠被數組調用,它接受一個閉包作為參數,作用于數組中的每個元素。閉包返回一個變換后的元素,接著將所有這些變換后的元素組成一個新的數組。
這聽起來有些復雜,但它是相當簡單的。想象你擁有一個string類型的數組:
|
map
函數的閉包接收一個字符串(類型為string
)作為參數,原因在于我們調用函數處理的數組元素類型為String
。本例中,我們想要返回一個整型數組,逐個對應字符串元素成員的字符長度。因此閉包的返回類型為Int?
.
|
FlatMap
flatMap
很像map
函數,但是它摒棄了那些值為nil
的元素。
|
另外一個與map
函數不同之處在于:倘若元素值不為nil情況下,flapMap
函數能夠將可選類型(optional
)轉換為非可選類型(non-optionals
)。
來自:http://swift.gg/2015/11/26/swift-map-and-flatmap/
本文由用戶 daqian 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!