使用範圍訂閱陣列
可以使用 Range 從 Array 中提取一系列連續元素。
let words = ["Hey", "Hello", "Bonjour", "Welcome", "Hi", "Hola"]
let range = 2...4
let slice = words[range] // ["Bonjour", "Welcome", "Hi"]
使用 Range 訂閱陣列會返回 ArraySlice
。這是 Array 的一個子序列。
在我們的例子中,我們有一個字串陣列,所以我們回到了 ArraySlice<String>
。
雖然 ArraySlice 符合 CollectionType
並且可以與 sort
,filter
等一起使用,但它的目的不是用於長期儲存,而是用於瞬態計算:一旦你完成它就應該將它轉換回一個陣列。
為此,請使用 Array()
初始化程式:
let result = Array(slice)
總結一個簡單的例子,沒有中間步驟:
let words = ["Hey", "Hello", "Bonjour", "Welcome", "Hi", "Hola"]
let selectedWords = Array(words[2...4]) // ["Bonjour", "Welcome", "Hi"]