La Méthode Contains
Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 76 sur 86.
Lorsque vous travaillez avec des tableaux, vous avez souvent besoin de vérifier si une valeur spécifique existe avant d'effectuer une action. Swift fournit la méthode contains() exactement à cette fin—elle renvoie true si l'élément est trouvé, et false sinon.
let fruits = ["apple", "banana", "orange"]
if fruits.contains("banana") {
print("We have bananas!")
}
// Nous avons des bananes !C'est beaucoup plus propre que d'écrire une boucle pour parcourir le tableau manuellement. La méthode fonctionne avec n'importe quel type de tableau, qu'il contienne des chaînes de caractères, des nombres ou d'autres valeurs :
let numbers = [10, 20, 30, 40, 50]
print(numbers.contains(30)) // vrai
print(numbers.contains(99)) // fauxUn cas d'utilisation courant consiste à valider la saisie de l'utilisateur par rapport à une liste de valeurs autorisées :
let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"
if validOptions.contains(userInput) {
print("Valid choice")
} else {
print("Invalid choice")
}
// Choix valideLa méthode contains() fonctionne également avec les chaînes de caractères pour vérifier si une sous-chaîne existe au sein d'une chaîne plus grande :
let message = "Hello, Swift!"
print(message.contains("Swift")) // vraiDéfi
FacileVous recevrez deux lignes d'entrée :
- Une liste de noms d'utilisateurs autorisés séparés par des virgules (par ex.,
admin,user,guest,moderator) - Un nom d'utilisateur à vérifier
Vérifiez si le nom d'utilisateur existe dans la liste autorisée. Si c'est le cas, affichez Access granted. Sinon, affichez Access denied.
Étapes :
- Lisez la liste séparée par des virgules et divisez-la en un tableau de chaînes de caractères
- Lisez le nom d'utilisateur à vérifier
- Utilisez la méthode
contains()pour déterminer si le nom d'utilisateur figure dans la liste autorisée - Affichez le message approprié en fonction du résultat
Conseil : Utilisez components(separatedBy:) pour diviser une chaîne en un tableau. Par exemple :
let text = "a,b,c"
let parts = text.components(separatedBy: ",")Aide-mémoire
La méthode contains() vérifie si une valeur spécifique existe dans un tableau, renvoyant true si elle est trouvée et false dans le cas contraire :
let fruits = ["apple", "banana", "orange"]
if fruits.contains("banana") {
print("We have bananas!")
}
// We have bananas!Elle fonctionne avec n'importe quel type de tableau :
let numbers = [10, 20, 30, 40, 50]
print(numbers.contains(30)) // true
print(numbers.contains(99)) // falseCas d'utilisation courant pour la validation d'une saisie :
let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"
if validOptions.contains(userInput) {
print("Valid choice")
} else {
print("Invalid choice")
}
// Valid choiceLa méthode contains() fonctionne également avec les chaînes de caractères pour vérifier la présence de sous-chaînes :
let message = "Hello, Swift!"
print(message.contains("Swift")) // truePour diviser une chaîne en un tableau, utilisez components(separatedBy:) :
let text = "a,b,c"
let parts = text.components(separatedBy: ",")Essayez vous-même
// Lire la liste des noms d'utilisateur autorisés séparés par des virgules
let allowedList = readLine()!
// Lire le nom d'utilisateur à vérifier
let username = readLine()!
// À FAIRE : Écrivez votre code ci-dessous
// 1. Diviser allowedList en un tableau en utilisant components(separatedBy:)
// 2. Utiliser contains() pour vérifier si username est dans le tableau
// 3. Afficher "Access granted" ou "Access denied" selon le résultatCette 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 dynamique