Menu
Coddy logo textTech

Slicing de Tableaux, Partie 2

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

Swift propose une syntaxe abrégée pratique pour extraire des segments (slicing) depuis le début ou jusqu'à la fin d'un tableau. Au lieu de spécifier explicitement 0 ou le dernier index, vous pouvez laisser un côté de la plage vide.

Pour extraire une partie depuis le début d'un tableau jusqu'à un index spécifique, omettez la valeur de départ :

let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]
print(firstThree)  // [10, 20, 30]

De même, pour effectuer un découpage d'un index spécifique jusqu'à la fin, omettez la valeur de fin :

let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]
print(fromIndex2)  // [30, 40, 50]

Vous pouvez également utiliser la version de l'intervalle fermé pour inclure un point de départ spécifique :

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

Ces plages unilatérales rendent votre code plus propre lorsque vous avez besoin des premiers éléments ou de tout ce qui suit un certain point. N'oubliez pas d'envelopper le résultat dans Array() si vous avez besoin d'un tableau standard au lieu d'un ArraySlice.

challenge icon

Défi

Facile

Écrivez une fonction splitArray qui prend numbers et index et renvoie tous les éléments de l'index donné jusqu'à la fin du tableau.

Utilisez l'opérateur de plage unilatérale (...) pour découper à partir de l'index spécifié jusqu'à la fin, et renvoyez le résultat sous forme de tableau standard.

Paramètres :

  • numbers ([Int]) : Le tableau à découper
  • index (Int) : L'index de départ (inclus)

Retourne : Un tableau contenant tous les éléments de l'index donné jusqu'à la fin du tableau ([Int])

Exemple : Si numbers est [5, 10, 15, 20, 25, 30] et index est 3, la fonction doit retourner [20, 25, 30].

Aide-mémoire

Swift propose une syntaxe abrégée pour découper des tableaux depuis le début ou jusqu'à la fin en laissant un côté de la plage vide.

Pour découper depuis le début jusqu'à un index spécifique, omettez la valeur de départ :

let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]  // [10, 20, 30]

Pour découper depuis un index spécifique jusqu'à la fin, omettez la valeur de fin :

let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]  // [30, 40, 50]

Utilisez la version de plage fermée pour inclure un index de fin spécifique :

let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]  // ["a", "b", "c", "d"]

Les plages unilatérales renvoient un ArraySlice. Enveloppez le résultat dans Array() pour le convertir en un tableau classique :

let regularArray = Array(numbers[2...])

Essayez vous-même

func splitArray(numbers: [Int], index: 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