Menu
Coddy logo textTech

Array Slicing Teil 1

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

Manchmal benötigen Sie nicht ein gesamtes Array – sondern nur einen Teil davon. Swift macht es einfach, eine Teilmenge von Elementen mithilfe von Array-Slicing mit Bereichsoperatoren zu extrahieren.

Um einen Teilbereich (Slice) zu erhalten, verwenden Sie einen Bereich innerhalb der Index-Klammern. Der gängigste Ansatz verwendet den halboffenen 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 uns 1..<4 Elemente an den Indizes 1, 2 und 3 – aber nicht Index 4. Dies ist nützlich, wenn Sie genau wissen, wo Sie aufhören möchten.

Wenn Sie den Endindex einschließen möchten, verwenden Sie den geschlossenen Bereichsoperator (...):

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

Ein wichtiges Detail: Das Ergebnis des Slicings ist ein ArraySlice, kein reguläres Array. Wenn Sie ein echtes Array benötigen, umschließen Sie es mit Array():

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 einen Teilbereich des Arrays vom Start-Index bis zum (aber nicht einschließlich) End-Index zurückgibt.

Verwende den halboffenen Range-Operator (..<), um den angegebenen Teil des Arrays zu extrahieren und als reguläres Array zurückzugeben.

Parameter:

  • numbers ([Int]): Das zu zerteilende Array
  • start (Int): Der Start-Index (inklusiv)
  • end (Int): Der End-Index (exklusiv)

Rückgabewert: Ein Array, das die Elemente vom Start-Index bis zum (aber nicht einschließlich) End-Index enthält ([Int])

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

Spickzettel

Swift ermöglicht es Ihnen, einen Teil eines Arrays mithilfe von Array-Slicing mit Bereichsoperatoren zu extrahieren.

Verwenden Sie den halboffenen Bereichsoperator (..<), um von einem Startindex bis zu (aber nicht einschließlich) einem Endindex zu schneiden:

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

Verwenden Sie den geschlossenen Bereichsoperator (...), um den Endindex einzuschließen:

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

Array-Slicing gibt ein ArraySlice zurück. Um es in ein reguläres Array umzuwandeln, umschließen Sie es mit Array():

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

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