Wycinanie fragmentów tablicy, część 2
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 74 z 86.
Swift udostępnia wygodną skróconą składnię do wycinania fragmentu tablicy od początku lub do końca. Zamiast jawnie określać 0 lub ostatni indeks, możesz pozostawić jeden koniec zakresu pusty.
Aby wyciąć fragment tablicy od jej początku do określonego indeksu, pomiń wartość początkową:
let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]
print(firstThree) // [10, 20, 30]Podobnie, aby wyciąć fragment od określonego indeksu do końca, pomiń wartość końcową:
let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]
print(fromIndex2) // [30, 40, 50]Możesz też użyć wersji z zakresem domkniętym, aby uwzględnić konkretny punkt początkowy:
let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]
print(upToIndex3) // ["a", "b", "c", "d"]Te jednostronne zakresy sprawiają, że kod jest czytelniejszy, gdy potrzebujesz kilku pierwszych elementów lub wszystkiego po określonym miejscu. Pamiętaj, aby opakować wynik w Array(), jeśli potrzebujesz zwykłej tablicy zamiast ArraySlice.
Wyzwanie
ŁatwyNapisz funkcję splitArray, która przyjmuje numbers i index, a następnie zwraca wszystkie elementy od podanego indeksu do końca tablicy.
Użyj jednostronnego operatora zakresu (...), aby pobrać elementy od określonego indeksu do końca, i zwróć wynik jako zwykłą tablicę.
Parametry:
numbers([Int]): Tablica, z której pobierane są elementyindex(Int): Indeks początkowy (włącznie)
Zwraca: Tablicę zawierającą wszystkie elementy od podanego indeksu do końca tablicy ([Int])
Przykład: Jeśli numbers to [5, 10, 15, 20, 25, 30], a index to 3, funkcja powinna zwrócić [20, 25, 30].
Spróbuj swoich sił
func splitArray(numbers: [Int], index: Int) -> [Int] {
// Wpisz kod tutaj
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloPrzypisanie złożonePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
Funkcja printInterpolacja ciągów znakówWejście ReadLineKonwersja typówPowtórka – do 120Powtórka – prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneEtykiety argumentówPowtórka – funkcja SigmaPowtórka – funkcja walidującaWartości domyślne2Zmienne
let vs varAdnotacje typówLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPodsumowanie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Powtórka – prosta logikaOperatory logiczne, część 3Operator trójargumentowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych wejściowych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz14Zaawansowane tablice
Wycinanie fragmentów tablicy, część 1Wycinanie fragmentów tablicy, część 2Operatory sekwencjiMetoda contains3Typy opcjonalne
Czym są typy opcjonalneRozpakowywanie za pomocą if letGuard letOperator nil-coalescingPodsumowanie — bezpieczne rozpakowywanie6Podejmowanie decyzji
Instrukcja ifIf - ElsePowtórka – prosty kalkulatorInstrukcja switchSwitch z zakresami9Pętle
Pętla for-inPętla whilePętla repeat-whileInstrukcja breakInstrukcja continuePowtórzenie – silniaZakresy w pętlachPętla zagnieżdżonaPowtórzenie – dynamiczne dane wejściowePoćwicz samodzielnie: Edytor online Swift