map、flatMap 和 compactMap
1。map、flatMap 和 compactMap transform 转换的意思。是指对 数组/字典/集合 可以调用
map 转换, 相当于便利数组 然后retrun 什么 最后得到的结果就是这个类型的数组。
compactMap 也是转换,唯一区别是 会把 retrun 返回的值可选性的 最后得到的数组 是 非可选形的 并且会把nil 的移除。
flatMap 如果处理单层数组 会被提醒用compactMap。faltMap 用于多层嵌套类型。我们再return 的时候返回的也应该是一个结合类型。但是 最后得得到结果是会被打散返回最终的少一层的数组,只会拆一层,并不是一直拆到末尾。比如 reture返回一个二维数组 最后得到的一个 二维数组 取出二维数组里面是一维数组,然后把这个一维数组放到数组里面去 其实就是你retrun 的 数组的 Element 平铺放到一个数组里面去
总的来说,flatMap 的行为取决于它所应用的上下文。在数组的上下文中,它会展平数组并移除 nil 元素。在可选类型的上下文中,它会将可选值映射到新的可选值,并根据条件决定是否返回 nil。