Iterowanie po elementach
Część sekcji Podstawy ścieżki Swift w Coddy. Lekcja 69 z 86.
Skoro już wiesz, jak tworzyć i modyfikować tablice, przyjrzyjmy się temu, jak przetwarzać każdy element po kolei. Pętla for-in znacznie to ułatwia.
Gdy używasz pętli for-in z tablicą, Swift automatycznie udostępnia Ci kolejno każdy 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 pasowała do twoich danych.
Ten wzorzec doskonale nadaje się do wykonywania operacji na każdym elemencie, takich jak obliczanie sumy:
let prices = [9.99, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.74Możesz też użyć pętli do tworzenia nowych tablic 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 to jedna z najczęstszych operacji w programowaniu, więc 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