用方括號[]來創建數組。最後一個元素後面可以有一個逗號(當然也可以沒有啦)。初始化的方法有很多種:
var array = [2, 3, 4, 5]
var array1: Array = [2, 3, 4, 5]
var array2: Array<Int> = [2, 3, 4, 5]
var array3: [Int] = [2, 3, 4, 5]
可以用初始化語法來創建一個空的數組:
let emptyArray = [String]()
還可以創建一個有特點大小並且所有元素都相同的數組:
var array4 = [String](count: 4, repeatedValue: "lala")
var array5 = Array(count: 4, repeatedValue: "lala")
往數組中添加元素:
array.append(1)
array += [6, 7]
array.insert(4, atIndex: 0)
前兩種是在數組的最後面添加,第三種是在指定位置之前加。
刪除元素:
array.removeFirst() // 移除首部元素
array.removeLast() // 移除尾部元素
array.removeAtIndex(0) // 移除指定位置的元素
array.removeRange(Range(0..<2)) // 移除某個範圍內的元素
array.removeAll(keepCapacity: true) // 移除所有元素並保留容量,默認不保留
array.removeAll() // 移除所有元素
(注:0..<2 是指0、1,不包含上界2。如果想包含上界2,用0...2)
修改元素:
array[2] = 333
array[1...3] = [10, 11, 12]
除了這些基本操作以外,還有些非常方便、好用的操作:(注意,閉包內的是用花括號)
對數組內的元素進行排序:
array = array.sort{$0 < $1} // 從小到大排
array = array.sort{$0 > $1} // 從大到小排
把數組內的元素翻轉:(比如 [2, 4, 3, 9] 翻轉變成 [9, 3, 4, 2])
array = array.reverse()
根據條件篩選數組,比如篩選出數組中的偶數:
array = array.filter{$0 % 2 == 0}
對當前數組中的所有元素運用閉包中的規則然後返回一個新數組(什麼意思呢?比如說讓數組內的元素的值全部擴大3倍):
array = array.map{$0 * 3}
對當前數組中的所有元素運用閉包中的規則然後返回一個值(比如說求數組內所有元素的加和或者乘積,小括號內的是初值):
let a = array.reduce(0){$0 + $1}
let b = array.reduce(1){$0 * $1}
如果有一天 Swift 真的完全替代了 OC,我會很難過。。。