Iterowanie po elementach
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 69 z 86.
Teraz, gdy wiesz już, jak tworzyć i modyfikować tablice, sprawdźmy, jak przetwarzać kolejno każdy element. Pętla for-in bardzo to ułatwia.
Gdy używasz pętli for-in z tablicą, Swift automatycznie podaje Ci po kolei każdy jej element:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// CherryZmienna fruit przyjmuje każdą wartość z tablicy podczas każdej iteracji. Możesz nazwać tę zmienną dowolnie, tak aby nazwa pasowała do twoich danych.
Ten wzorzec doskonale nadaje się do wykonywania operacji na każdym elemencie, na przykład do obliczania sumy:
let prices = [9.75, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.5Możesz także użyć pętli, aby tworzyć nowe tablice na podstawie istniejących:
let numbers = [1, 2, 3, 4]
var doubled = [Int]()
for number in numbers {
doubled.append(number * 2)
}
print(doubled) // [2, 4, 6, 8]Iterowanie po tablicach jest jedną z najczęstszych operacji w programowaniu, dlatego opanowanie tego wzorca bardzo ci się przyda.
Wyzwanie
ŁatwyNapisz funkcję countPositives, która przyjmuje numbers i zwraca liczbę dodatnich liczb w tablicy.
Użyj pętli for-in, aby przejść przez każdy element i policzyć, ile z nich jest większych od zera.
Parametry:
numbers([Int]): Tablica liczb całkowitych
Zwraca: Liczbę dodatnich liczb (większych od 0) w tablicy (Int)
Przykład: Jeśli numbers to [-3, 5, 0, 8, -1, 12], funkcja powinna zwrócić 3 (dodatnie liczby to 5, 8 i 12).
Spróbuj swoich sił
func countPositives(numbers: [Int]) -> Int {
// Napisz 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ślne13Iterowanie po sekwencjach
Iterowanie po elementachMetoda enumerateIterowanie po łańcuchach znaków, cz. 1Iterowanie po łańcuchach znaków, cz. 22Zmienne
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 FizzBuzz3Typy 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