swift map compactMap flatMap 的区别

2024-03-12  本文已影响0人  寒雨晚风

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]

上一篇下一篇

猜你喜欢

热点阅读