美文网首页
Swift 中的 高阶函数

Swift 中的 高阶函数

作者: 孤雁_南飞 | 来源:发表于2021-02-27 21:51 被阅读0次
    • map
    1. 对于原始集合里的每一个元素,以一个变化后的元素替换之后形成一个新的集合
    let numbers = [1, 2, 4, 5, 10]
    print(numbers.map({ $0 * 10 }))
    
    • filter
    1. 对于原始集合离得每一个元素,通过判定来将其丢弃或者放进新集合
    let numbers = [1, 2, 4, 5, 10]
    print(numbers.filter({ $0 > 4 }))
    
    • reduce
    1. 对于原始集合里的每一个元素,作用域当前累积的结果上
    let numbers = [1, 2, 4, 5, 10]
    print(numbers.reduce(100, { $0 + $1}))
    
    • flatMap
    1. 对于元素是集合的集合,可以得到单级的集合
    let results = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    let allResults = results.flatMap({ $0.map({ $0 * 10 }) })
    let passMarks = results.flatMap({ $0.filter({ $0 > 5 }) })
    print(allResults)
    print(passMarks)
    
    • compactMap
    1. 过滤空值
    let keys: [String?] = ["zhangsan", nil, "", nil, "wangwu"]
    let validNames = keys.compactMap({ $0 })
    print(validNames)
    let counts = keys.compactMap({ $0?.count })
    print(counts)
    

    相关文章

      网友评论

          本文标题:Swift 中的 高阶函数

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