Menu
Coddy logo textTech

Array-Slicing Teil 1

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

Manchmal brauchst du kein vollständiges Array, sondern nur einen Teil davon. Swift macht es einfach, mithilfe von Array-Slicing mit Bereichsoperatoren eine Teilmenge von Elementen zu extrahieren.

Um einen Ausschnitt zu erhalten, verwendest du einen Bereich innerhalb der Indexklammern. Der häufigste Ansatz verwendet den Halb-offenen Bereichsoperator (..<), der den Startindex einschließt, aber den Endindex ausschließt:

let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice)  // [20, 30, 40]

Hier liefert 1..<4 uns die Elemente an den Indizes 1, 2 und 3, aber nicht den Index 4. Das ist nützlich, wenn du genau weißt, wo du aufhören möchtest.

Wenn du den Endindex einschließen möchtest, verwende den Operator für geschlossene Bereiche (...):

let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice)  // ["b", "c", "d"]

Ein wichtiges Detail: Das Ergebnis des Slicing ist ein ArraySlice und kein reguläres Array. Wenn du ein echtes Array benötigst, wickle es mit Array() ein:

let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced)  // [1, 2, 3]
challenge icon

Aufgabe

Einfach
Schreibe eine Funktion getMiddleElements, die numbers, start und end entgegennimmt und ein Slice des Arrays vom Startindex bis zum (aber nicht einschließlich) Endindex zurückgibt.

Verwende den Halbintervalloperator (..), um den angegebenen Teil des Arrays zu extrahieren und ihn als reguläres Array zurückzugeben.

Parameter:

  • numbers ([Int]): Das Array, das gesliced werden soll
  • start (Int): Der Startindex (einschließlich)
  • end (Int): Der Endindex (ausschließlich)

Rückgabe: Ein Array, das Elemente vom Startindex bis zum (aber nicht einschließlich) Endindex enthält ([Int])

Beispiel: Wenn numbers [10, 20, 30, 40, 50, 60], start 1 und end 4 ist, sollte die Funktion [20, 30, 40] zurückgeben.

Probier es selbst

func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
    // Schreibe hier den Code
}
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

Übe selbstständig: Swift-Playground