Swift 类型 - 数组
2016-03-30 本文已影响269人
小黑Swift
刀生锈了,得磨下
本文内容:
1.创建
2.插入
3.移除
4.颠倒
5.升序
注意:
① 数组的索引(atIndex)从 0 开始
② 数组不能越界,否则崩溃
1 数组创建
// 整数数组
//let arrayOfInt:[Int] = [1,2,3]
let arrayOfInt = [1,2,3] //类型自动推断
// 空数组
let nilArray = [Int]() //创建空数组须指定类型
// 重复相同的数组 - 比如创建10个鸡蛋数组
let resultArr = Array(count: 10, repeatedValue: 0)
// 按顺序的数组 - 比如1到300的整数数组
let numArray = Array(1...300)
2 插入内容
// 创建数组
var myArray = [0,1,2,3]
2.1 向末尾插入
myArray.append(4) myArray.append(4)
// = [0,1,2,3,4]
2.2 任意位置插入
myArray.insert(5, atIndex: 0) myArray.insert(5, atIndex: 0) //数组的索引(atIndex)从 0 开始
// = [5,0,1,2,3,4]
3 移除内容
3.1 定向移除
myArray.removeAtIndex(4)myArray.removeAtIndex(4) // 移除第四个位置
// = [5,0,1,3,4]
myArray.removeFirst() // 移除第一个位置
// = [0,1,3,4]
myArray.removeLast() //移除末尾那个位置
// = [0,1,3]
3.2 全部移除
myArray.removeAll() myArray.removeAll()
// = []
4 数组内容颠倒
myArray.reverse() myArray.reverse()
// = [4,3,2,1,0]
5 可对整数数组进行升序
yArray.sort() myArray.sort()
// = [1,2,3,4,5]
6 数组过滤
extension SequenceType{
func anotherPartitionBy(fu: (Self.Generator.Element)->Bool)->([Self.Generator.Element],[Self.Generator.Element]){
return (self.filter(fu),self.filter({!fu($0)}))
}
}
let part2 = [82, 58, 76, 49, 88, 90].anotherPartitionBy{$0 < 60}
part2 // ([58, 49], [82, 76, 88, 90])
let part3 = ["老司机", "司机大佬", "宝马哥", "小司机", "兰博哥", "保时捷"].anotherPartitionBy { (str) -> Bool in
str.containsString("司机")
}
part3 // (["老司机", "司机大佬", "小司机"], ["宝马哥", "兰博哥", "保时捷"])