高阶函数
map
- 对于原始集合里的每一个元素,以一个变换后的元素替换之形成一个新的集合
![](https://img.haomeiwen.com/i1367029/1681161df2dad694.png)
filter
- 对于原始集合里的每一个元素,通过判定来将其丢弃或者放进新集合
![](https://img.haomeiwen.com/i1367029/577aa1cfb1181eb4.png)
reduce
- 对于原始集合里的每一个元素,作用于当前累计的结果上
![](https://img.haomeiwen.com/i1367029/f09dfab5d18c64c1.png)
flatMap
- 对于元素是集合的集合, 可以得到单级的集合
![](https://img.haomeiwen.com/i1367029/8ed18451c7b16e3a.png)
compactMap
- 过滤空值
![](https://img.haomeiwen.com/i1367029/900ddd592dc02365.png)
let numbers = [1, 2, 4, 5, 10]
print(numbers.map{ $0 * 10 })
//[10, 20, 40, 50, 100]
print(numbers.filter { $0 > 4})
//[5, 10]
print(numbers.reduce(100) { $0 + $1})
//122
网友评论