swift map compactMap flatMap 的区别

map 遍历集合中的每个元素
let numbers = [1, 2, 3, 4, 5]
let doubledNumbers = numbers.map { $0 * 2 }
print(doubledNumbers)
// 输出: [2, 4, 6, 8, 10]

compactMap
map 函数一样。与 map 不同的是,compactMap 会自动过滤掉转换结果为 nil 的元素。
let strings = ["1", "2", "3", "abc", "5"]
let numbers = strings.compactMap { Int($0) }
print(numbers)
// 输出: [1, 2, 3, 5]

flatMap
let arrays = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]
let flattenedArray = arrays.flatMap { $0 }
print(flattenedArray)
// 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容