Menu
Coddy logo textTech

Die enumerate-Methode

Teil des Abschnitts Grundlagen der Swift-Journey von Coddy — Lektion 70 von 86.

Manchmal müssen Sie beim Iterieren über ein Array nicht nur das Element, sondern auch seine Position kennen. Während Sie den Index manuell mit einer Zählervariablen verfolgen könnten, bietet Swift eine sauberere Lösung: die enumerated()-Methode.

Wenn Sie enumerated() auf einem Array aufrufen, gibt es eine Sequenz von Tupeln zurück, wobei jedes Tupel den Index und das Element enthält:

let colors = ["Red", "Green", "Blue"]

for (index, color) in colors.enumerated() {
    print("\(index): \(color)")
}
// 0: Red
// 1: Green
// 2: Blue

Beachten Sie, wie wir jedes Tupel direkt in der Schleife mit (index, color) dekonstruieren. Dies ermöglicht uns den Zugriff auf beide Werte ohne zusätzlichen Code.

Dies ist besonders nützlich, wenn Sie nummerierte Listen anzeigen oder Operationen durchführen müssen, die von der Position eines Elements abhängen:

let tasks = ["Wake up", "Exercise", "Eat breakfast"]

for (index, task) in tasks.enumerated() {
    print("Task \(index + 1): \(task)")
}
// Aufgabe 1: Wake up
// Aufgabe 2: Exercise
// Aufgabe 3: Eat breakfast

Die enumerated()-Methode hält Ihren Code sauber und lesbar im Vergleich zur manuellen Verwaltung einer separaten Zählervariable.

challenge icon

Aufgabe

Einfach

Schreiben Sie eine Funktion formatWithPositions, die items entgegennimmt und einen formatierten String zurückgibt, der jedes Element mit seiner Positionsnummer anzeigt.

Verwenden Sie die Methode enumerated(), um durch das Array zu iterieren und einen String zu erstellen, bei dem jedem Element seine auf 1 basierende Positionsnummer vorangestellt wird.

Logik:

  1. Iterieren Sie mit enumerated() durch das Array
  2. Erstellen Sie für jedes Element einen String im Format "position. item" (unter Verwendung einer auf 1 basierenden Nummerierung)
  3. Verbinden Sie alle formatierten Strings mit einem Zeilenumbruchzeichen (\n)

Parameter:

  • items ([String]): Ein Array von Strings, die formatiert werden sollen

Rückgabewert: Ein einzelner String, bei dem jedes Element in einer eigenen Zeile steht, vorangestellt mit seiner Positionsnummer (String). Format: "1. item1\n2. item2\n3. item3"

Beispiel: Wenn items gleich ["Apple", "Banana", "Cherry"] ist, sollte die Funktion Folgendes zurückgeben:

"1. Apple\n2. Banana\n3. Cherry"

Hinweis: Wenn das Array leer ist, geben Sie einen leeren String "" zurück.

Spickzettel

Die Methode enumerated() gibt eine Sequenz von Tupeln zurück, die sowohl den Index als auch das Element eines Arrays enthalten:

let colors = ["Red", "Green", "Blue"]

for (index, color) in colors.enumerated() {
    print("\(index): \(color)")
}
// 0: Red
// 1: Green
// 2: Blue

Jedes Tupel wird direkt in der Schleife unter Verwendung der Syntax (index, element) zerlegt, was den Zugriff auf sowohl die Position als auch den Wert ermöglicht.

Dies ist nützlich, um nummerierte Listen zu erstellen, indem 1 zum nullbasierten Index addiert wird:

let tasks = ["Wake up", "Exercise", "Eat breakfast"]

for (index, task) in tasks.enumerated() {
    print("Task \(index + 1): \(task)")
}
// Task 1: Wake up
// Task 2: Exercise
// Task 3: Eat breakfast

Probier es selbst

func formatWithPositions(items: [String]) -> 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