0Pricing
Dart Academy · Lekcja

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

  1. Zbiory i gwarantowana unikatowość
  2. Operacje na zbiorach: union, intersection, difference
  3. Mapy jako magazyny par klucz-wartość
  4. Iterowanie po wpisach, kluczach i wartościach
← Powrót do Dart Academy