Die Contains-Methode
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 76 von 86.
Beim Arbeiten mit Arrays müssen Sie oft prüfen, ob ein bestimmter Wert existiert, bevor Sie eine Aktion ausführen. Swift bietet die contains()-Methode genau für diesen Zweck an – sie gibt true zurück, wenn das Element gefunden wird, und andernfalls false.
let fruits = ["apple", "banana", "orange"]
if fruits.contains("banana") {
print("We have bananas!")
}
// Wir haben Bananen!Dies ist viel sauberer, als manuell eine Schleife zu schreiben, um das Array zu durchsuchen. Die Methode funktioniert mit jedem Array-Typ, unabhängig davon, ob er Strings, Zahlen oder andere Werte enthält:
let numbers = [10, 20, 30, 40, 50]
print(numbers.contains(30)) // true
print(numbers.contains(99)) // falseEin häufiger Anwendungsfall ist die Validierung von Benutzereingaben gegen eine Liste erlaubter Werte:
let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"
if validOptions.contains(userInput) {
print("Valid choice")
} else {
print("Invalid choice")
}
// Gültige AuswahlDie contains()-Methode funktioniert auch mit Strings, um zu prüfen, ob ein Substring innerhalb eines größeren Strings existiert:
let message = "Hello, Swift!"
print(message.contains("Swift")) // trueAufgabe
EinfachSie erhalten zwei Zeilen als Eingabe:
- Eine durch Kommas getrennte Liste der erlaubten Benutzernamen (z. B.
admin,user,guest,moderator) - Ein zu überprüfender Benutzername
Überprüfen Sie, ob der Benutzername in der Liste der erlaubten Namen enthalten ist. Wenn ja, geben Sie Access granted aus. Wenn nicht, geben Sie Access denied aus.
Schritte:
- Lesen Sie die durch Kommas getrennte Liste ein und teilen Sie diese in ein Array von Strings auf
- Lesen Sie den zu überprüfenden Benutzernamen ein
- Verwenden Sie die Methode
contains(), um festzustellen, ob der Benutzername in der Liste der erlaubten Namen enthalten ist - Geben Sie basierend auf dem Ergebnis die entsprechende Nachricht aus
Hinweis: Verwenden Sie components(separatedBy:), um einen String in ein Array aufzuteilen. Zum Beispiel:
let text = "a,b,c"
let parts = text.components(separatedBy: ",")Spickzettel
Die Methode contains() prüft, ob ein bestimmter Wert in einem Array existiert, und gibt true zurück, wenn er gefunden wurde, andernfalls false:
let fruits = ["apple", "banana", "orange"]
if fruits.contains("banana") {
print("We have bananas!")
}
// Wir haben Bananen!Sie funktioniert mit jedem Array-Typ:
let numbers = [10, 20, 30, 40, 50]
print(numbers.contains(30)) // true
print(numbers.contains(99)) // falseEin häufiger Anwendungsfall für die Validierung von Eingaben:
let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"
if validOptions.contains(userInput) {
print("Valid choice")
} else {
print("Invalid choice")
}
// Gültige AuswahlDie Methode contains() funktioniert auch mit Strings, um nach Teilstrings zu suchen:
let message = "Hello, Swift!"
print(message.contains("Swift")) // trueUm einen String in ein Array aufzuteilen, verwenden Sie components(separatedBy:):
let text = "a,b,c"
let parts = text.components(separatedBy: ",")Probier es selbst
// Lies die kommagetrennte Liste der erlaubten Benutzernamen
let allowedList = readLine()!
// Lies den zu prüfenden Benutzernamen
let username = readLine()!
// TODO: Schreibe deinen Code unten
// 1. Teile die allowedList mit components(separatedBy:) in ein Array auf
// 2. Verwende contains(), um zu prüfen, ob username im Array enthalten ist
// 3. Gib "Access granted" oder "Access denied" basierend auf dem Ergebnis ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorZusammengesetzte ZuweisungWiederholung - Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypumwandlungWiederholung - Bis 120Wiederholung - Wahr oder Falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgument-LabelsWiederholung - Sigma-FunktionWiederholung - ValidierungsfunktionStandardwerte13Iterieren über Sequenzen
Iterieren über ElementeDie enumerate-MethodeIterieren über Strings Teil 1Iterieren über Strings Teil 22Variablen
Let vs. VarTyp-AnnotationenZahlenStringsBooleansBenennungskonventionenZusammenfassung – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechnungs-Splitter
WillkommensnachrichtEingabe abfragen14Arrays für Fortgeschrittene
Array Slicing Teil 1Array Slicing Teil 2Sequenz-OperatorenDie Contains-Methode3Optionals
Was sind OptionalsUnwrapping mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Unwrapping6Entscheidungsfindung
If-AnweisungIf - ElseWiederholung - Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Wertebereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueWiederholung – FakultätBereiche in SchleifenVerschachtelte SchleifeWiederholung – Dynamische Eingabe