Swift Academy · Lektion

Map/Filter/Reduce, Lazy-Sequences

Verwenden Sie map / filter / reduce zum Transformieren, Auswählen und Kombinieren und fügen Sie anschließend .lazy hinzu, um die Arbeit zu verzögern und Zwischenarrays zu vermeiden.

Lektion 2 von 38 Schritte

Map/Filter/Reduce, Lazy-Sequences ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 3 Lektionen.

Grundidee

Zentrale Algorithmen:

  • map: jedes Element transformieren
  • filter: Elemente behalten, die ein Prädikat erfüllen
  • reduce: zu einem Wert zusammenfassen
  • .lazy: Arbeit verzögern, um temporäre Arrays zu vermeiden

map

map transformiert jedes Element und gibt ein neues Array zurück.

let nums = [1, 2, 3]
let doubled = nums.map { $0 * 2 }        // [2, 4, 6]
print(doubled)

let words = ["swift", "kit"]
let upper = words.map { $0.uppercased() } // ["SWIFT","KIT"]
print(upper)

filter

filter behält die Elemente, für die das Prädikat true zurückgibt.

let scores = [45, 72, 88, 53]
let passing = scores.filter { $0 >= 60 } // [72, 88]
print(passing)

let names = ["Ana","Li","Max"]
let short = names.filter { $0.count <= 2 } // ["Li"]
print(short)

reduce

reduce fasst eine Sequence mithilfe eines Startwerts und eines kombinierenden Closures zu einem einzigen Ergebnis zusammen.

let total = [1,2,3,4].reduce(0) { acc, x in acc + x }   // 10
print(total)

let joined = ["a","b","c"].reduce("") { $0 + $1 }             // "abc"
print(joined)

Lazy-Verarbeitung bei Bedarf

.lazy erstellt eine verzögerte Pipeline: Operationen werden beim Verbrauchen der Elemente ausgeführt (z. B. über prefix, first oder eine Iteration).

let range = 1...10
let lazyPipeline = range.lazy
    .map { x in print("map", x); return x * x }
    .filter { x in print("filter", x); return x % 2 == 0 }

// Only the first 3 results are needed:
let firstThree = Array(lazyPipeline.prefix(3))
print("result:", firstThree)
// Notice how only the work needed for 3 elements ran.

Tipps

Tipps:

  • Verketten Sie map → filter → reduce für klare Datenflüsse.
  • Fügen Sie .lazy hinzu, wenn Sie nur einen Teil einer Pipeline verbrauchen oder temporäre Werte vermeiden möchten.
  • Materialisieren Sie mit Array(...) nur dann, wenn Sie ein konkretes Array benötigen.

lazy-Semantik

Kurztest: Welche Auswirkung hat .lazy auf eine map/filter-Kette?

Zusammenfassung

Zusammenfassung: Verwenden Sie map zum Transformieren, filter zum Auswählen und reduce zum Zusammenfassen. Ergänzen Sie .lazy für Auswertung bei Bedarf und weniger Speicherzuweisungen.

Kostenlos starten

Lerne Swift mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
122
Lektionen
409

Häufig gestellte Fragen

Ist die Lektion „Map/Filter/Reduce, Lazy-Sequences“ kostenlos?

Ja — der vollständige Text von „Map/Filter/Reduce, Lazy-Sequences“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Map/Filter/Reduce, Lazy-Sequences“?

Verwenden Sie map / filter / reduce zum Transformieren, Auswählen und Kombinieren und fügen Sie anschließend .lazy hinzu, um die Arbeit zu verzögern und Zwischenarrays zu vermeiden. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Swift Academy zu starten?

Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.

Wie lange dauert die Lektion „Map/Filter/Reduce, Lazy-Sequences“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?

Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Sequence-/Collection-Hierarchien
  2. Map/Filter/Reduce, Lazy-Sequences
  3. Benutzerdefinierte Iteratoren und Performance-Tipps
← Zurück zu Swift Academy