Avec Swift 5, selon vos besoins, vous pouvez choisir l'un des 6 codes Playground suivants afin de résoudre votre problème.
#1. Utilisation de l' subscript(_:)
indice
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. Utilisation de la prefix(_:)
méthode
Complexité: O (1) si la collection est conforme à RandomAccessCollection
; sinon, O ( k ), où k est le nombre d'éléments à sélectionner au début de la collection.
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 déclare pour prefix(_:)
:
Si la longueur maximale dépasse le nombre d'éléments de la collection, le résultat contient tous les éléments de la collection.
# 3. Utilisation de la prefix(upTo:)
méthode
Complexité: 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 déclare pour prefix(upTo:)
:
L'utilisation de la prefix(upTo:)
méthode équivaut à utiliser une plage semi-ouverte partielle comme indice de la collection. La notation en indice est préférable à prefix(upTo:)
.
# 4. Utilisation de la prefix(through:)
méthode
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. Utilisation de la removeSubrange(_:)
méthode
Complexité: O ( n ), où n est la longueur de la collection.
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. Utilisation de la dropLast(_:)
méthode
Complexité: O (1) si la collection est conforme à RandomAccessCollection
; sinon, O ( k ), où k est le nombre d'éléments à supprimer.
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
éléments d'un fichierArray
.