Menu
Coddy logo textTech

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)  // 4

Fü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)  // 60

Die 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)  // 86
challenge icon

Aufgabe

Einfach

Schreiben 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:

  1. Ermitteln Sie die Gesamtzahl der Elemente mit count
  2. Finden Sie den Minimalwert mit min()
  3. Finden Sie den Maximalwert mit max()
  4. Berechnen Sie die Summe mit reduce(0, +) und teilen Sie diese durch die Anzahl, um den Durchschnitt zu erhalten
  5. 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)  // 4

Die 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)  // 60

Berechnen Sie einen Durchschnitt, indem Sie reduce mit count kombinieren:

let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average)  // 86

Probier es selbst

func analyzeScores(scores: [Int]) -> String {
    // Code hier schreiben
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen