美文网首页
Swift中的高阶函数:Map、Filter、Reduce和Fl

Swift中的高阶函数:Map、Filter、Reduce和Fl

作者: keisme | 来源:发表于2017-06-20 00:05 被阅读10次

    Map

    使用 map 来遍历集合并对集合中每一个元素进行同样的操作。

    let arr = [1, 2, 3]
    let squares = arr.map{$0 * $0}
    // print [1, 4, 9]
    

    Filter

    filter函数会遍历一个集合,并返回一个数组,其中包含了集合中满足过滤条件的元素。

    let result = array.filter{ 
      $0 % 2 == 0
    }
    

    Reduce

    组合集合中的所有元素并返回一个非集合类型的值

    let items = [2.0,4.0,5.0,7.0]
    let total = items.reduce(10.0,+)
    // 28.0
    

    FlatMap

    将一个二维数组拆开展平

    let collections = [[5,2,7],[4,8],[9,1,3]]
    let flat = collections.flatMap { $0 }
    // [5, 2, 7, 4, 8, 9, 1, 3]
    

    它可以判断集合中的不可选值,并将不可选值移出集合:

    let people: [String?] = ["Tom",nil,"Peter",nil,"Harry"]
    let valid = people.flatMap {$0}
    // ["Tom", "Peter", "Harry"]
    

    相关文章

      网友评论

          本文标题:Swift中的高阶函数:Map、Filter、Reduce和Fl

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