Con Swift 5, de acuerdo con sus necesidades, puede elegir uno de los 6 siguientes códigos de Playground para resolver su problema.
# 1 Usando subscript(_:)
subíndice
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 Utilizandoprefix(_:)
método
Complejidad: O (1) si la colección se ajusta a RandomAccessCollection
; de lo contrario, O ( k ), donde k es el número de elementos para seleccionar desde el comienzo de la colección.
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"]
Apple declara para prefix(_:)
:
Si la longitud máxima excede el número de elementos en la colección, el resultado contiene todos los elementos en la colección.
# 3 Utilizandoprefix(upTo:)
método
Complejidad: 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"]
Apple declara para prefix(upTo:)
:
Usar el prefix(upTo:)
método es equivalente a usar un rango medio abierto parcial como subíndice de la colección. Se prefiere la notación de subíndice sobre prefix(upTo:)
.
# 4. Utilizando el 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. Utilizando el removeSubrange(_:)
método
Complejidad: O ( n ), donde n es la longitud de la colección.
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. Utilizando el dropLast(_:)
método
Complejidad: O (1) si la colección se ajusta a RandomAccessCollection
; de lo contrario, O ( k ), donde k es el número de elementos a soltar.
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 unArray
.