Com o Swift 5, de acordo com suas necessidades, você pode escolher um dos 6 códigos seguintes do Playground para resolver seu problema.
# 1 Usando subscript(_:)
subscrito
let array = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
let arraySlice = array[..<5]
//let arraySlice = array[0..<5] // also works
//let arraySlice = array[0...4] // also works
//let arraySlice = array[...4] // also works
let newArray = Array(arraySlice)
print(newArray) // prints: ["A", "B", "C", "D", "E"]
# 2 Usando o prefix(_:)
método
Complexidade: O (1) se a coleção estiver em conformidade RandomAccessCollection
; caso contrário, O ( k ), onde k é o número de elementos a serem selecionados desde o início da coleção.
let array = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
let arraySlice = array.prefix(5)
let newArray = Array(arraySlice)
print(newArray) // prints: ["A", "B", "C", "D", "E"]
A Apple declara para prefix(_:)
:
Se o comprimento máximo exceder o número de elementos na coleção, o resultado conterá todos os elementos na coleção.
# 3 Usando o prefix(upTo:)
método
Complexidade: O (1)
let array = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
let arraySlice = array.prefix(upTo: 5)
let newArray = Array(arraySlice)
print(newArray) // prints: ["A", "B", "C", "D", "E"]
A Apple declara para prefix(upTo:)
:
Usar o prefix(upTo:)
método é equivalente a usar um intervalo semi-aberto parcial como o subscrito da coleção. A notação subscrita é preferida prefix(upTo:)
.
# 4 Usando o prefix(through:)
método
let array = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
let arraySlice = array.prefix(through: 4)
let newArray = Array(arraySlice)
print(newArray) // prints: ["A", "B", "C", "D", "E"]
# 5 Usando o removeSubrange(_:)
método
Complexidade: O ( n ), em que n é o comprimento da coleção.
var array = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
array.removeSubrange(5...)
print(array) // prints: ["A", "B", "C", "D", "E"]
# 6 Usando o dropLast(_:)
método
Complexidade: O (1) se a coleção estiver em conformidade RandomAccessCollection
; caso contrário, O ( k ), onde k é o número de elementos a serem descartados.
let array = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"]
let distance = array.distance(from: 5, to: array.endIndex)
let arraySlice = array.dropLast(distance)
let newArray = Array(arraySlice)
print(newArray) // prints: ["A", "B", "C", "D", "E"]
n
elementos de umArray
.