我在寻找最佳解决方案时,也考虑过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]
|