首页 > 代码库 > 【Swift初见】Swift数组(二)
【Swift初见】Swift数组(二)
在苹果的开发文档中对Array还提供了其他的操作算法:
此时打印出:[2, 3, 4, 5]
其实sort大括号里面是一个闭包,这个以后再学习。
如果倒叙排列,代码如下:
输出为:[5, 4, 3, 2]
2、reverse函数
按照数组的index倒叙排列返回,比如:
此时的输出应该为:[2, 3, 4, 5]
可以看出数组倒叙排列了。
3、filter
根据某些条件来筛选数组值:比如:
输出为:[2, 4]
4、map
对当前数组运用闭包内的规则然后返回一个新的数组:
闭包内的规则是每个数字乘以3 所以我们的输出为:[6, 9, 12, 15]
5、reduce
官方解释为:通过闭包内对每个元素进行操作然后返回一个单独的值
比如:
reduce(2)括号中的2表示初始值,闭包内为操作
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)
【Swift初见】Swift数组(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。