Menu
Coddy logo textTech

Slicing de Tableaux, Partie 1

Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 73 sur 86.

Parfois, vous n'avez pas besoin d'un tableau entier, mais seulement d'une partie de celui-ci. Swift permet d'extraire facilement un sous-ensemble d'éléments en utilisant le découpage de tableau (array slicing) avec des opérateurs de plage.

Pour obtenir une tranche (slice), vous utilisez une plage à l'intérieur des crochets d'indice. L'approche la plus courante utilise l'opérateur de plage semi-ouverte (..<), qui inclut l'index de début mais exclut l'index de fin :

let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice)  // [20, 30, 40]

Ici, 1..<4 nous donne les éléments aux indices 1, 2 et 3 — mais pas l'indice 4. C'est utile lorsque vous savez exactement où vous voulez vous arrêter.

Si vous souhaitez inclure l'indice de fin, utilisez l'opérateur de plage fermée (...) :

let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice)  // ["b", "c", "d"]

Un détail important : le résultat du découpage est un ArraySlice, et non un Array classique. Si vous avez besoin d'un véritable tableau, enveloppez-le avec Array() :

let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced)  // [1, 2, 3]
challenge icon

Défi

Facile

Écrivez une fonction getMiddleElements qui prend numbers, start et end et retourne une tranche du tableau de l'index de début jusqu'à (mais sans inclure) l'index de fin.

Utilisez l'opérateur de plage semi-ouverte (..<) pour extraire la portion spécifiée du tableau et la retourner sous forme de tableau standard.

Paramètres :

  • numbers ([Int]) : Le tableau à trancher
  • start (Int) : L'index de départ (inclus)
  • end (Int) : L'index de fin (exclu)

Retourne : Un tableau contenant les éléments de l'index de début jusqu'à (mais sans inclure) l'index de fin ([Int])

Exemple : Si numbers est [10, 20, 30, 40, 50, 60], start est 1 et end est 4, la fonction doit retourner [20, 30, 40].

Aide-mémoire

Swift vous permet d'extraire une partie d'un tableau en utilisant le découpage de tableau (array slicing) avec des opérateurs de plage.

Utilisez l'opérateur de plage semi-ouverte (..<) pour découper à partir d'un index de début jusqu'à (mais sans inclure) un index de fin :

let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice)  // [20, 30, 40]

Utilisez l'opérateur de plage fermée (...) pour inclure l'index de fin :

let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice)  // ["b", "c", "d"]

Le découpage de tableau renvoie un ArraySlice. Pour le convertir en un Array classique, enveloppez-le avec Array() :

let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced)  // [1, 2, 3]

Essayez vous-même

func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
    // Écrivez le code ici
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux