Swift-數組

用方括號[]來創建數組。最後一個元素後面可以有一個逗號(當然也可以沒有啦)。初始化的方法有很多種:

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,我會很難過。。。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章