Sequenz-Operatoren
Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 75 von 86.
Swift bietet nützliche integrierte Eigenschaften und Methoden, mit denen Sie schnell Informationen über Arrays sammeln können, ohne Schleifen zu schreiben. Diese Sequenzoperatoren helfen Ihnen, gängige Berechnungen mit minimalem Code durchzuführen.
Die count-Eigenschaft gibt die Anzahl der Elemente in einem Array zurück:
let scores = [85, 92, 78, 90]
print(scores.count) // 4Für numerische Arrays bietet Swift Methoden an, um die kleinsten und größten Werte zu finden. Die min() und max() Methoden geben Optionals zurück, da ein leeres Array kein Minimum oder Maximum hat:
let temperatures = [72, 68, 75, 80, 65]
if let lowest = temperatures.min() {
print(lowest) // 65
}
if let highest = temperatures.max() {
print(highest) // 80
}Um die Summe aller Elemente zu berechnen, verwenden Sie die reduce-Methode. Sie kombiniert alle Werte ausgehend von einem Initialwert:
let prices = [10, 20, 30]
let total = prices.reduce(0, +)
print(total) // 60Die 0 ist der Startwert, und + weist Swift an, jedes Element zur laufenden Summe zu addieren. Durch die Kombination dieser Operatoren können Sie ganz einfach einen Durchschnitt berechnen:
let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average) // 86Aufgabe
EinfachSchreiben Sie eine Funktion analyzeScores, die scores entgegennimmt und einen Zusammenfassungs-String mit Statistiken über das Array zurückgibt.
Verwenden Sie Sequenz-Operatoren, um die Anzahl, das Minimum, das Maximum und den Durchschnitt der Punktzahlen zu berechnen, und formatieren Sie diese dann in einen einzigen Zusammenfassungs-String.
Logik:
- Ermitteln Sie die Gesamtzahl der Elemente mit
count - Finden Sie den Minimalwert mit
min() - Finden Sie den Maximalwert mit
max() - Berechnen Sie die Summe mit
reduce(0, +)und teilen Sie diese durch die Anzahl, um den Durchschnitt zu erhalten - Geben Sie einen formatierten String mit allen Statistiken zurück
Parameter:
scores([Int]): Ein Array von ganzzahligen Punktzahlen (es ist garantiert, dass mindestens ein Element enthalten ist)
Rückgabewert: Ein formatierter String, der die Statistiken enthält (String). Format: "Count: X, Min: X, Max: X, Avg: X"
Beispiel: Wenn scores gleich [85, 90, 78, 92] ist, sollte die Funktion "Count: 4, Min: 78, Max: 92, Avg: 86" zurückgeben.
Hinweis: Der Durchschnitt sollte mittels Ganzzahldivision berechnet werden (keine Dezimalstellen).
Spickzettel
Swift bietet integrierte Eigenschaften und Methoden für die Arbeit mit Arrays, ohne Schleifen schreiben zu müssen.
Die Eigenschaft count gibt die Anzahl der Elemente zurück:
let scores = [85, 92, 78, 90]
print(scores.count) // 4Die Methoden min() und max() finden die kleinsten und größten Werte. Sie geben Optionals zurück, da leere Arrays kein Minimum oder Maximum haben:
let temperatures = [72, 68, 75, 80, 65]
if let lowest = temperatures.min() {
print(lowest) // 65
}
if let highest = temperatures.max() {
print(highest) // 80
}Die Methode reduce berechnet die Gesamtsumme, indem sie alle Werte ausgehend von einem Initialwert kombiniert:
let prices = [10, 20, 30]
let total = prices.reduce(0, +)
print(total) // 60Berechnen Sie einen Durchschnitt, indem Sie reduce mit count kombinieren:
let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average) // 86Probier es selbst
func analyzeScores(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 Eingabe