Transformacje za pomocą map, where i toList
Zmiana kształtu list za pomocą metod iterable
Transformacje za pomocą map, where i toList 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.
Przekształcanie list
Zamiast ręcznie wykonywać pętle, Dart pozwala przekształcać listy za pomocą przejrzystych metod iterable. Opisujesz wynik, a Dart go tworzy. ✨
map przekształca elementy
Metoda map uruchamia funkcję dla każdego elementu i tworzy nową sekwencję wyników, pozostawiając oryginał bez zmian.
var nums = [1, 2, 3];
var doubled = nums.map((n) => n * 2);map zwraca Iterable
Zwróć uwagę, że map oddaje Iterable, a nie List. Działa leniwie, więc nic nie jest obliczane, dopóki rzeczywiście nie odczytasz wartości.
toList tworzy konkretną listę
Zamień dowolny iterable w prawdziwą listę za pomocą toList. Wymusza to wykonanie obliczeń i daje listę, której elementy można odczytywać według indeksu.
var result = nums.map((n) => n * 2).toList();where filtruje elementy
Metoda where pozostawia tylko elementy spełniające warunek, a resztę odrzuca. To podstawowe narzędzie do filtrowania.
var evens = nums.where((n) => n.isEven);Łączenie map i where
Łącz kolejne kroki w przejrzysty sposób. Najpierw where filtruje, a następnie map przekształca dane, tworząc wyrażenie przypominające jasne zdanie o tych danych.
var out = nums.where((n) => n > 1).map((n) => n * 10);Zawsze kończ za pomocą toList
Po połączeniu metod wywołaj toList, aby utrwalić wynik. W przeciwnym razie pozostanie Ci leniwe iterable, które będzie obliczane ponownie przy każdym użyciu.
var finalList = out.toList();Oryginały pozostają bez zmian
Te metody nigdy nie zmieniają źródłowej listy — zwracają nowe dane. Oryginalna lista nums wygląda dokładnie tak jak na początku.
print(nums); // [1, 2, 3]Zmiana typu
map może całkowicie zmienić typ. W tym przykładzie lista liczb staje się listą etykiet typu String w jednym przejrzystym kroku.
var labels = nums.map((n) => 'item $n').toList();expand spłaszcza dane
Użyj expand, gdy każdy element zamienia się w kilka innych. Metoda najpierw mapuje elementy, a następnie spłaszcza je do jednej ciągłej sekwencji.
var pairs = nums.expand((n) => [n, n]).toList();Szybkie konwersje
Innym przydatnym sposobem zakończenia operacji jest join, który łączy elementy w jeden napis — idealny do wyświetlania listy użytkownikowi.
print(nums.join(', ')); // 1, 2, 3Szybkie sprawdzenie
Łączysz map z listą, ale nigdy nie wywołujesz toList. Co otrzymujesz?
Podsumowanie
Przekształcasz listy jak profesjonalista: używasz map do zmiany elementów, where do filtrowania i toList do finalizacji wyniku. Potoki za każdym razem wygrywają z ręcznymi pętlami. 🚀
Często zadawane pytania
Czy lekcja „Transformacje za pomocą map, where i toList” jest bezpłatna?
Tak — pełny tekst „Transformacje za pomocą map, where i toList” 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 „Transformacje za pomocą map, where i toList”?
Zmiana kształtu list za pomocą metod iterable Ć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 „Transformacje za pomocą map, where i toList”?
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
- Tworzenie list i indeksowanie
- Dodawanie, usuwanie i aktualizowanie elementów
- Wyszukiwanie i sortowanie list
- Transformacje za pomocą map, where i toList