Swift 2.0: 理解 flatMap

我在寻找最佳解决方案时,也考虑过flatMap。但是老实说,我并不是很了解flatMap,也不知道如何使用。一位同事告诉我一种解决方案,需要用到两个flatMap,看起来十分复杂。

之后,在博文的评论Twitter上发生了激烈讨论,我发现其实使用flatMap可以轻松地解决问题:

 
      
let minionImagesFlattened = ( 1... 7).flatMap { UIImage(named: "minionIcon-\($0)") }

下面我会按照自己的理解介绍flatMap。别忘了我也是刚学的,所以我肯定不是flatMap专家!

简单的例子

我对flatMap的理解十分基础,这是我最初的想法:

 
      
let nestedArray = [[ 1, 2, 3], [ 4, 5, 6]]
let flattenedArray = nestedArray.flatMap { $ 0 }
flattenedArray // [1, 2, 3, 4, 5, 6]

你可能感兴趣的:(Swift 2.0: 理解 flatMap)