Iterowanie po wpisach, kluczach i wartościach
Przechodzenie po mapie i używanie putIfAbsent
Iterowanie po wpisach, kluczach i wartościach to bezpłatna lekcja Dart Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Dart Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Dart Academy zawiera 4 lekcji w sumie.
Iterowanie po Map
Czasami trzeba odwiedzić każdą parę w obiekcie Map. Dart udostępnia kilka przejrzystych sposobów iterowania po jego zawartości. 🚶
Tylko klucze
Właściwość keys udostępnia obiekt iterowalny zawierający każdy klucz. Iteruj po nim, gdy interesują Cię tylko etykiety.
var m = {'a': 1, 'b': 2};
for (var k in m.keys) {
print(k);
}Tylko wartości
Właściwość values udostępnia obiekt iterowalny zawierający każdą wartość, całkowicie pomijając klucze.
var m = {'a': 1, 'b': 2};
for (var v in m.values) {
print(v);
}Pary z entries
Właściwość entries udostępnia obiekty MapEntry, dzięki którym można jednocześnie uzyskać klucz i jego wartość.
for (var e in m.entries) {
print(e.key);
print(e.value);
}Skrót forEach
Metoda forEach przekazuje bezpośrednio każdy klucz i każdą wartość, dzięki czemu operacje wykonywane na poszczególnych parach są bardzo czytelne.
m.forEach((key, value) {
print('$key: $value');
});Poznaj putIfAbsent
Użyj putIfAbsent, aby ustawić klucz tylko wtedy, gdy go brakuje. Istniejące klucze pozostają bez zmian.
var m = {'a': 1};
m.putIfAbsent('b', () => 2);Dlaczego putIfAbsent pomaga
Funkcja wartości w putIfAbsent jest uruchamiana tylko wtedy, gdy jest to potrzebne, dzięki czemu unika się niepotrzebnej pracy dla kluczy, które już istnieją.
m.putIfAbsent('a', () => expensive());Aktualizowanie wartości
Metoda update zmienia istniejący klucz za pomocą funkcji, dlatego doskonale nadaje się do liczników i zliczania.
var counts = {'a': 1};
counts.update('a', (v) => v + 1);update z wartością zastępczą
Przekaż ifAbsent do update, aby nowy klucz otrzymał wartość początkową zamiast powodować błąd.
counts.update('z', (v) => v + 1,
ifAbsent: () => 1);Przekształcanie za pomocą map
Metoda map przekształca każdy wpis w nową parę i zwraca nową mapę, nie modyfikując oryginału.
var doubled = m.map((k, v) =>
MapEntry(k, v * 2));Zachowywana jest kolejność wstawiania
Domyślny obiekt Map pamięta kolejność wstawiania kluczy, więc podczas iteracji pary są odwiedzane w tej samej, niezawodnej kolejności.
Szybki test
Która właściwość udostępnia jednocześnie klucz i wartość w jednej iteracji?
Podsumowanie
Bardzo dobrze! Można iterować po keys, values lub entries, a także używać putIfAbsent i update do sprawnego zarządzania parami. 🎉
Często zadawane pytania
Czy lekcja „Iterowanie po wpisach, kluczach i wartościach” jest bezpłatna?
Tak — pełny tekst „Iterowanie po wpisach, kluczach i wartościach” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Dart Academy, przejdź na CoddyKit PRO. Kurs Dart Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Iterowanie po wpisach, kluczach i wartościach”?
Przechodzenie po mapie i używanie putIfAbsent Ćwiczysz Dart Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Dart Academy?
Nie wymagamy żadnego doświadczenia. Dart Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Iterowanie po wpisach, kluczach i wartościach”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Dart Academy?
Tak. Każda lekcja Dart Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Zbiory i gwarantowana unikatowość
- Operacje na zbiorach: union, intersection, difference
- Mapy jako magazyny par klucz-wartość
- Iterowanie po wpisach, kluczach i wartościach