Swift 函数学习笔记

2019-08-13  本文已影响0人  摘心
  1. sorted 排序函数
let array = [1,2,3,4,5,6]
do {
    // 降序排序
    let arr1 = array.sorted { (a, b) -> Bool in
        return a > b
    }
    print(arr1)
    
    // 升序排序
    let arr2 = arr1.sorted { (a, b) -> Bool in
        return a < b
    }
    print(arr2)
    // sorted()升序排序
    print(arr1.sorted())
}
  1. map遍历集合元素
     // 遍历数组,每个元素组成元组类型,遍历执行结果返回泛型T,并组合成新的数组mapArr1
    let mapArr1 = array.map { (<#Int#>) -> T in
        <#code#>
    }
    // 遍历字典, 每个键值对组成元组类型,遍历执行结果返回泛型T,并组合成新的数组mapArr2
    let mapArr2 = dic.map { (<#(key: String, value: String)#>) -> T in
        <#code#>
    }
    // 简洁写法,$0 $1 分别为元组的第一、二个元素
    let mapArr3 = dic.map {
        print("key : \($0), value : \($1)")
    }
  1. filter过滤集合
    // 过滤数组,遍历每个元素,返回符合要求的元素组成新数组
    let newArr = array.filter { (<#Int#>) -> Bool in
        <#code#>
    }
   // 过滤字典,遍历每个键值对,返回符合要求的键值对组成新字典
    let newDic = dic.filter { (<#(key: String, value: String)#>) -> Bool in
        <#code#>
    }
  1. reduce 遍历集合,计算元素
    // Result 计算结果容器,有初始值
    // (<#Result#>, <#Int#>)  遍历元素元组,有容器和数组元素组成
    // 遍历结束返回结果,返回类型由Result决定
    let reduce = array.reduce(Result) { (<#Result#>, <#Int#>) -> Result in
        <#code#>
    }

    // 与reduce数组类似
    let reduce = dic.reduce(Result) { (<#Result#>, <#(key: String, value: String)#>) -> Result in
        <#code#>
    }
   //  例:
    let reduce = dic.reduce("reduce :") { (a, arg1) -> String in
        let (key, value) = arg1
        return a + key + value
    }
    print(reduce)
  1. reversed() 、enumerated()
do {
    let array = [1,3,2,7,6,8,9,5]
    // reversed 反向,让数组元素顺序颠倒
    let reversedArr = array.reversed()
    print("reversedArr = \(Array(reversedArr))")
    
    let enumeratedArr = array.enumerated()
    print("enumeratedArr = \(Array(enumeratedArr))")
    // enumerated 获取数组的下标和下标对应元素组成的元组
    for (n,value) in array.enumerated() {
        print("array enumerated n = \(n) , value = \(value) ")
    }
    
    let dic = ["name":"Ares", "num":"25", "id":"1024"]
    // 让字典元素反向,没有实际意义
    let reversedDic:Array<Any> = dic.reversed()
    print("dic = \(dic) \n reversedDic = \(reversedDic) ")
    for (n, value) in dic.enumerated() {
        print(value.key)
        print("dic enumerated n = \(n), value = \(value)")
    }
}
上一篇 下一篇

猜你喜欢

热点阅读