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]Aufgabe
EinfachSchreibe 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 sollstart(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
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorZusammengesetzte ZuweisungRückblick – Einfache MathematikVergleichsoperatoren7Grundlagen der Ein- und Ausgabe
Print-FunktionString-InterpolationReadLine-EingabeTypkonvertierungWiederholung – Bis 120Wiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteArgumentbezeichnungenWiederholung – Sigma-FunktionWiederholung – ValidierungsfunktionStandardwerte13Über Sequenzen iterieren
Über Elemente iterierenDie Enumerate-MethodeÜber Strings iterieren Teil 1Über Strings iterieren Teil 22Variablen
let vs. varTypannotationenZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Zusammenfassung – Einfache LogikLogische Operatoren Teil 3Ternärer Operator8Rechner zum Teilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion14Arrays – Fortgeschritten
Array-Slicing Teil 1Array-Slicing Teil 2SequenzoperatorenDie Contains-Methode3Optionals
Was sind Optionals?Entpacken mit If LetGuard LetNil-Coalescing-OperatorZusammenfassung – Sicheres Entpacken6Entscheidungen treffen
If-AnweisungIf - ElseRückblick – Einfacher TaschenrechnerSwitch-AnweisungSwitch mit Bereichen9Schleifen
For-In-SchleifeWhile-SchleifeRepeat-While-SchleifeBreakContinueZusammenfassung – FakultätBereiche in SchleifenVerschachtelte SchleifeZusammenfassung – Dynamische EingabeÜbe selbstständig: Swift-Playground