Trong trường hợp đơn giản nhất , với Swift 3, bạn có thể sử dụng Array's init(_:)initializer để có được một Arraytừ Set. init(_:)có tuyên bố sau:
init<S>(_ s: S) where S : Sequence, Element == S.Iterator.Element
Tạo một mảng chứa các phần tử của một chuỗi.
Sử dụng:
let stringSet = Set(arrayLiteral: "car", "boat", "car", "bike", "toy")
let stringArray = Array(stringSet)
print(stringArray)
// may print ["toy", "car", "bike", "boat"]
Tuy nhiên , nếu bạn cũng muốn thực hiện một số hoạt động trên mỗi phần tử của bạn Settrong khi biến nó thành một Array, bạn có thể sử dụng map, flatMap, sort, filtervà các phương pháp chức năng khác được cung cấp bởi Collectiongiao thức:
let stringSet = Set(["car", "boat", "bike", "toy"])
let stringArray = stringSet.sorted()
print(stringArray)
// will print ["bike", "boat", "car", "toy"]
let stringSet = Set(arrayLiteral: "car", "boat", "car", "bike", "toy")
let stringArray = stringSet.filter { $0.characters.first != "b" }
print(stringArray)
// may print ["car", "toy"]
let intSet = Set([1, 3, 5, 2])
let stringArray = intSet.flatMap { String($0) }
print(stringArray)
// may print ["5", "2", "3", "1"]
let intSet = Set([1, 3, 5, 2])
// alternative to `let intArray = Array(intSet)`
let intArray = intSet.map { $0 }
print(intArray)
// may print [5, 2, 3, 1]
let array = Array(someSet)cũng hoạt động trong Swift 2