Méthodes de tableaux
Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 65 sur 86.
Au-delà de l'ajout et de la suppression d'éléments, les tableaux Swift proposent plusieurs méthodes utiles qui facilitent le travail avec les collections.
La propriété isEmpty vérifie si un tableau contient des éléments :
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falsePour supprimer tous les éléments en une seule fois, utilisez removeAll() :
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []La méthode reversed() renvoie les éléments dans l'ordre inverse :
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Pour le tri, utilisez sorted() pour obtenir un nouveau tableau trié, ou sort() pour trier le tableau sur place :
let scores = [85, 42, 97, 63]
print(scores.sorted()) // [42, 63, 85, 97]
var prices = [9.99, 2.50, 5.75]
prices.sort()
print(prices) // [2.5, 5.75, 9.99]Remarquez que sorted() retourne un nouveau tableau tout en laissant l'original inchangé, alors que sort() modifie directement le tableau original.
Défi
FacileÉcrivez une fonction processScores qui prend scores et renvoie une chaîne formatée avec des informations sur les scores.
La fonction doit analyser le tableau et construire une chaîne de résultat avec trois éléments d'information.
Logique :
- Vérifiez si le tableau est vide en utilisant
isEmpty - S'il est vide, renvoyez
"No scores" - Sinon, obtenez les scores triés (ordre croissant) et les scores inversés
- Renvoyez une chaîne combinant les deux résultats
Paramètres :
scores([Int]) : Un tableau de scores entiers
Renvoie : Une chaîne au format : "Sorted: [sorted_array], Reversed: [reversed_array]" ou "No scores" si le tableau est vide (String)
Exemple : Si scores est [85, 42, 97, 63], la fonction doit renvoyer :
"Sorted: [42, 63, 85, 97], Reversed: [63, 97, 42, 85]"Note : Le tableau inversé doit être l'inverse du tableau original, et non du tableau trié.
Aide-mémoire
Les tableaux Swift fournissent plusieurs méthodes utiles pour travailler avec des collections :
La propriété isEmpty vérifie si un tableau contient des éléments :
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falseUtilisez removeAll() pour supprimer tous les éléments d'un tableau :
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []La méthode reversed() renvoie les éléments dans l'ordre inverse :
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Pour le tri, utilisez sorted() pour créer un nouveau tableau trié, ou sort() pour trier sur place :
let scores = [85, 42, 97, 63]
print(scores.sorted()) // [42, 63, 85, 97]
var prices = [9.99, 2.50, 5.75]
prices.sort()
print(prices) // [2.5, 5.75, 9.99]sorted() renvoie un nouveau tableau sans modifier l'original, tandis que sort() modifie directement le tableau.
Essayez vous-même
func processScores(scores: [Int]) -> String {
// É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 FizzBuzz3Les 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 dynamique12Bases des tableaux
Déclarer un tableauAccéder aux élémentsModifier des tableauxMéthodes de tableauxRécapitulatif - Liste de produitsRécapitulatif - Tableau inverséTuples