Swift flatMap详解
Swift flatMap详解
先看下flatMap的用法
Sequence.flatMap<S>(_: (Element) -> S)
-> [S.Element] where S : Sequence
Optional.flatMap<U>(_: (Wrapped) -> U?) -> U?
Sequence.flatMap<U>(_: (Element) -> U?) -> [U]
Map 可以对一个集合类型的所有元素做一个映射操作, 那么 flatMap 跟Map有什么区别呢?
让我们来看一个 flatMap 的用法:
result = numbers.flatMap {
$0 + 1 }
// [2,3,4,5]
同样的数组使用 flatMap 进行处理,得到的结果是一样的,那 flatMap 和 map 到底有什么区别呢?
让我们再看一个场景
let numbersCompound = [[1,2,3],[4,5,6]];