美文网首页
swift map flatMap Filter Reduc

swift map flatMap Filter Reduc

作者: 有理想有暴富的小青年 | 来源:发表于2019-03-27 14:40 被阅读0次

    1、Map(映射)

    map函数 类似for循环做的一些事 只是以闭包的形式表达出来 map闭包函数的功能就是对数组中的每一项进行遍历,然后通过映射规则对数组中的每一项进行处理,最终的返回结果是处理后的数组(以一个新的数组形式出现)。当然,原来数组中的元素值是保持不变的,这就是map闭包函数的用法与功能。

    2、Filter (过滤器)  用法和map形式一样就是返回值是bool  函数体加过滤条件 

    3、Reduce 求和 

    4、sorted (排序)

    总结 map filter reduce 函数 可将后面函数体 看做闭包 省略其形参和返回体和in 只写实现如下

    map 、flatMap、 compactMap 区别

    map 映射的是本身是什么类型新的数组就是什么类型 不会解包

    flatMap 会把optional类型解包 并且会过滤掉 nil  还可把多维数组展开  合并成一个数组(遇到nil类型除外 eg [[1,3],[2,5],nil]) ps swift 4.1之后flatmap会报警告(解决方法下篇文章给出)

    compactMap swift4.1以后出现的新特性 为了解决多维数组nil问题  功能类似flatmap 

    遇到 [[1,3],[2,5],nil] 这种数组 目前方法是先用compactMap进行去除nil 再进行flatmap展开

    哪位大神有好的方法 望不吝赐教!

    相关文章

      网友评论

          本文标题:swift map flatMap Filter Reduc

          本文链接:https://www.haomeiwen.com/subject/jdszvqtx.html