使用範圍訂閱陣列

可以使用 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 並且可以與 sortfilter 等一起使用,但它的目的不是用於長期儲存,而是用於瞬態計算:一旦你完成它就應該將它轉換回一個陣列。

為此,請使用 Array() 初始化程式:

let result = Array(slice)

總結一個簡單的例子,沒有中間步驟:

let words = ["Hey", "Hello", "Bonjour", "Welcome", "Hi", "Hola"]
let selectedWords = Array(words[2...4]) // ["Bonjour", "Welcome", "Hi"]