Array-Methoden
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 65 von 86.
Über das Hinzufügen und Entfernen von Elementen hinaus verfügen Swift-Arrays über mehrere hilfreiche Methoden, die die Arbeit mit Collections erleichtern.
Die Eigenschaft isEmpty prüft, ob ein Array Elemente enthält:
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falseUm alle Elemente auf einmal zu entfernen, verwende removeAll():
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []Die reversed()-Methode gibt die Elemente in umgekehrter Reihenfolge zurück:
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Verwenden Sie zum Sortieren sorted(), um ein neues sortiertes Array zu erhalten, oder sort(), um das Array an Ort und Stelle zu sortieren:
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]Beachten Sie, dass sorted() ein neues Array zurückgibt, während das Original unverändert bleibt, wohingegen sort() das ursprüngliche Array direkt modifiziert.
Aufgabe
EinfachSchreiben Sie eine Funktion processScores, die scores entgegennimmt und einen formatierten String mit Informationen über die Punktzahlen zurückgibt.
Die Funktion soll das Array analysieren und einen Ergebnis-String mit drei Informationen erstellen.
Logik:
- Prüfen Sie mit
isEmpty, ob das Array leer ist - Wenn es leer ist, geben Sie
"No scores"zurück - Andernfalls ermitteln Sie die sortierten Punktzahlen (aufsteigende Reihenfolge) und die umgekehrten Punktzahlen
- Geben Sie einen String zurück, der beide Ergebnisse kombiniert
Parameter:
scores([Int]): Ein Array aus ganzzahligen Punktzahlen
Rückgabewert: Ein String im Format: "Sorted: [sorted_array], Reversed: [reversed_array]" oder "No scores", falls das Array leer ist (String)
Beispiel: Wenn scores den Wert [85, 42, 97, 63] hat, sollte die Funktion Folgendes zurückgeben:
"Sorted: [42, 63, 85, 97], Reversed: [63, 97, 42, 85]"Hinweis: Das umgekehrte Array sollte die Umkehrung des ursprünglichen Arrays sein, nicht die des sortierten.
Spickzettel
Swift-Arrays bieten mehrere nützliche Methoden für die Arbeit mit Sammlungen:
Die Eigenschaft isEmpty prüft, ob ein Array Elemente enthält:
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falseVerwenden Sie removeAll(), um alle Elemente aus einem Array zu entfernen:
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []Die Methode reversed() gibt Elemente in umgekehrter Reihenfolge zurück:
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Verwenden Sie zum Sortieren sorted(), um ein neues sortiertes Array zu erstellen, oder sort(), um das Array direkt zu sortieren:
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() gibt ein neues Array zurück, ohne das Original zu verändern, während sort() das Array direkt modifiziert.
Probier es selbst
func processScores(scores: [Int]) -> String {
// Code hier schreiben
}
Diese 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 Eingabe12Array-Grundlagen
Ein Array deklarierenZugriff auf ElementeArrays modifizierenArray-MethodenWiederholung - ProduktlisteWiederholung - Umgekehrtes ArrayTupel