如何使用Swift中的高阶函数

2021-08-29  本文已影响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]
上一篇 下一篇

猜你喜欢

热点阅读