swift中的map和flatMap

map

.map操作,对数组中的元素添加相同类型值,返回相同类型

let numbers = [1,2,3,4,5,6,7,8,9]
let result1 = numbers.map({
    $0 + 2
})
//result1 = [3, 4, 5, 6, 7, 8, 9, 10, 11]

.map操作,对数组中的元素添加不同类型值,返回不同类型

let numbers = [1,2,3,4,5,6,7,8,9]
let result2 = numbers.map({
    "NO." + "\($0)"
})
//result2 = ["NO.1", "NO.2", "NO.3", "NO.4", "NO.5", "NO.6", "NO.7", "NO.8", "NO.9"]

.map操作,对二维数组中的元素添加相同类型值,返回相同类型

let numbers2 = [[1 ,2 ,3] ,[4, 5, 6]]
let result3 = numbers2.map({
    $0.map({
        $0 + 1
    })
})
//result3 = [[2, 3, 4], [5, 6, 7]]

.map操作 ,对二维数组中元素拼接不同类型值,返回不同类型

let numbers2 = [[1 ,2 ,3] ,[4, 5, 6]]
let result4 = numbers2.map({
    $0.map({
        "NO." + "\($0)"
    })
})
//result4 = [["NO.1", "NO.2", "NO.3"], ["NO.4", "NO.5", "NO.6"]]

flatMap

.flatMap操作,对一维数组中的元素添加相同类型值,返回相同类型

let numbers = [1,2,3,4,5,6,7,8,9]
let result1 = numbers.flatMap({
    $0 + 2
})
//result1 = [3, 4, 5, 6, 7, 8, 9, 10, 11]

.flatMap操作 ,对一维数组中元素拼接不同类型值

let numbers = [1,2,3,4,5,6,7,8,9]
let result2 = numbers.flatMap({
    "NO." + "\($0)"
})
//result2 = ["N", "O", ".", "1", "N", "O", ".", "2", "N", "O", ".", "3", "N", "O", ".", "4", "N", "O", ".", "5", "N", "O", ".", "6", "N", "O", ".", "7", "N", "O", ".", "8", "N", "O", ".", "9"]

.flatMap操作,对二维数组中的元素添加相同类型值

let numbers2 = [[1 ,2 ,3] ,[4, 5, 6]]
let result3 = numbers2.flatMap({
    $0.map({
        $0 + 1
    })
})
//result3 = [2, 3, 4, 5, 6, 7]

.flatMap操作 ,对二维数组中元素拼接不同类型值,返回不同类型

let numbers2 = [[1 ,2 ,3] ,[4, 5, 6]]
let result4 = numbers2.flatMap({
    $0.map({
        "NO." + "\($0)"
    })
})
//result4 = ["NO.1", "NO.2", "NO.3", "NO.4", "NO.5", "NO.6"]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • map 和 flatMap 是 Swift 中两个常用的函数,它们体现了 Swift 中很多的特性。对于简单的使用...
    SwiftCafe阅读 5,441评论 5 16
  • 在iOS 9以后的版本中,Swift语言中有了两个函数,一个叫做map, 一个叫做flatMap,这两个概念在我们...
    coolma阅读 3,831评论 0 1
  • 粗鄙的简介 以下转自CSDN的一篇博博客http://blog.csdn.net/fish_yan_/articl...
    小白猿阅读 3,424评论 0 2
  • 总结:1、没有用专业笔,画出来好丑,看来得重新买笔纸;2、以前试过导图,以为学会了,后来有人跟我说我画的是逻辑图,...
    佩玉ing阅读 1,571评论 4 2
  • 感恩妹妹每天给我们煮健康色香味俱全的食物,谢谢您!我爱您✔感恩一觉醒来呼吸尚在,感恩生命的恩赐,谢谢您生命之神✔感...
    晴晴zhang阅读 3,465评论 0 2

友情链接更多精彩内容