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 facilite l’extraction d’un sous-ensemble d’éléments à l’aide du découpage de tableau avec des opérateurs de plage.
Pour obtenir une tranche, 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’indice de début, mais exclut l’indice 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 tu sais exactement où tu veux t’arrêter.
Si vous souhaitez inclure l’index end, utilisez l’opérateur d’intervalle fermé (...) :
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 ordinaire. Si tu as besoin d’un véritable tableau, enveloppe-le avec Array() :
let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced) // [1, 2, 3]Défi
FacileÉcrivez une fonction getMiddleElements qui prend numbers, start et end, et renvoie une tranche du tableau depuis l’index start jusqu’à (sans l’inclure) l’index end.
Utilisez l’opérateur d’intervalle semi-ouvert (..<) pour extraire la portion spécifiée du tableau et la renvoyer sous forme de tableau ordinaire.
Paramètres :
numbers([Int]) : le tableau à découperstart(Int) : l’index de départ (inclus)end(Int) : l’index de fin (exclus)
Renvoie : un tableau contenant les éléments depuis l’index start jusqu’à (sans l’inclure) l’index end ([Int])
Exemple : si numbers vaut [10, 20, 30, 40, 50, 60], que start vaut 1 et que end vaut 4, la fonction doit renvoyer [20, 30, 40].
Essayez vous-même
func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
// Écrivez le code ici
}
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
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur ModuloAffectation composéeRécapitulatif - Mathématiques simplesOpérateurs de comparaison7Entrées/Sorties de base
Fonction PrintInterpolation de chaînesSaisie ReadLineConversion de typesRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourÉtiquettes d'argumentRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut13Itération sur les séquences
Itérer sur les élémentsLa méthode d'énumérationItérer sur les chaînes P1Itérer sur les chaînes P22Variables
Let vs VarAnnotations de typeNombresStringsBooléensConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de facture
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz14Tableaux Avancés
Slicing de Tableaux, Partie 1Slicing de Tableaux, Partie 2Opérateurs de SéquenceLa Méthode Contains3Les Optionnels
Comprendre les optionnelsDéballage avec If LetL'instruction Guard LetOpérateur de fusion nilRécapitulatif - Déballage sécurisé6Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleL'instruction SwitchSwitch avec des intervalles9Boucles
Boucle For-InBoucle WhileBoucle Repeat-WhileBreakContinueRécapitulatif - FactorielleIntervalles dans les bouclesBoucles imbriquéesRécapitulatif - Entrée dynamiqueEntraînez-vous par vous-même : Playground Swift