美文网首页
如何使用Swift中的高阶函数

如何使用Swift中的高阶函数

作者: 一个栗 | 来源:发表于2021-08-29 17:31 被阅读0次

map

  • 对于原始集合里的每一个元素,以一个变换后的元素替换之形成一个新的集合

filter

  • 对于原始集合里的每一个元素,通过判定来将其丢弃或者放进新的集合

reduce

  • 对于原始集合里的每一个元素,作用于当前累积的结果上

flatMap

  • 对于元素是集合的集合,可以得到单级的集合
let results = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
let allResults = results.flatMap{ $0.map{ $0 * 10 } }
let passMarks = results.flatMap{ $0.filter{ $0 > 5 } }
print(allResults)
print(passMarks)

执行结果如下:
[10, 20, 30, 40, 50, 60, 70, 80, 90]
[6, 7, 8, 9]

compactMap

  • 过滤空值
let keys: [String?] = ["zhangsan", nil, "lisi", nil, "wangwu"]
let validNames = keys.compactMap{ $0 }
print(validNames)
let counts = keys.compactMap{ $0?.count }
print(counts)

执行结果如下:
["zhangsan", "lisi", "wangwu"]
[8, 4, 6]

相关文章

网友评论

      本文标题:如何使用Swift中的高阶函数

      本文链接:https://www.haomeiwen.com/subject/tyribltx.html