• 【Swift初见】Swift数组(二)


    在苹果的开发文档中对Array还提供了其它的操作算法:

    1、Sort函数:

    对数组进行排序。依据指定的排序规则,看以下的代码:

    var array = [2, 3, 4, 5]
    
    array.sort{$0 < $1}
    println(array)

    此时打印出:[2, 3, 4, 5]
    事实上sort大括号中面是一个闭包,这个以后再学习。
    假设倒叙排列,代码例如以下:
    array.sort{$0 > $1}
    println(array)

    输出为:[5, 4, 3, 2]

    2、reverse函数
    依照数组的index倒叙排列返回,比方:
    let newA = array.reverse()
    println(newA)

    此时的输出应该为:[2, 3, 4, 5]
    能够看出数组倒叙排列了。



    3、filter
    依据某些条件来筛选数组值:比方:

    let newB = array.filter{$0 % 2 == 0}
    println(newB)

    输出为:[2, 4]

    4、map
    对当前数组运用闭包内的规则然后返回一个新的数组:
    var newArray = array.map{$0 * 3}
    println(newArray)

    闭包内的规则是每一个数字乘以3 所以我们的输出为:[6, 9, 12, 15]

    5、reduce
    官方解释为:通过闭包内对每一个元素进行操作然后返回一个单独的值
    比方:
    let addRes = array.reduce(2){$0 + $1}
    println(addRes)

    reduce(2)括号里的2表示初始值。闭包内为操作

    我们得到的返回值为:16

    PS:Swift还提供了一个Slice类,官方描写叙述例如以下:

    The slice class represents a one-dimensional subset of an array, specified by three parameters: start offset, size, and stride. The start offset is the index of the first element of the array that is part of the subset. The size is the total number of elements in the subset. Stride is the distance between each successive array element to include in the subset.

    For example, with an array of size 10, and a slice with offset 1, size 3 and stride 2, the subset consists of array elements 1, 3, and 5.

    简单的说就是Slice是Array的一个子类,包括三个部分:start offset。 size, stride。

    看个样例:

    var slice : Slice = array[1...3]
    array = Array(slice)
    slice = Slice(array)
    println(slice)



    欢迎大家相互学习。





  • 相关阅读:
    SASS教程sass超详细教程
    浅谈angular2+ionic2
    深入理解JSON对象
    浅谈闭包
    响应式开发入门
    CSS之float属性归纳探讨
    新学期加油
    Good moring!
    async await的前世今生
    ASP.NET配置KindEditor文本编辑器-图文实例
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5154536.html
Copyright © 2020-2023  润新知