List methods
- Dart kursu
- Başlangıç
- Ders 57/116
- 5 dk
map, where, fold ile liste işleme öğrenirsin.
List methods
Dart'ta List üzerinde dönüşüm ve sorgulama için üç yaygın metod vardır: map her elemanı dönüştürür, where elemanları süzer (filtreler), fold tüm elemanları tek bir değere indirger. Üçü de yeni bir Iterable döndürür; List olarak kullanmak için .toList() çağırılır.
Örneğin [1, 2, 3].map((x) => x * 2).toList() sonucu [2, 4, 6]'dır. (x) => x * 2 bir ok fonksiyonudur (arrow function); her eleman için çalışır ve x * 2 sonucunu üretir. Ok fonksiyonunun ayrıntısını ileriki seviyede göreceksin.
map, where, fold
map her elemanı dönüştürür: [1, 2, 3].map((x) => x * 2) sonucu [2, 4, 6]'dır. where bir koşula göre süzer: [1, 2, 3].where((x) => x > 1) sonucu [2, 3]'tür. fold bir başlangıç değeriyle tüm elemanları birleştirir: [1, 2, 3].fold(0, (a, b) => a + b) sonucu 6'dır.
map ve where bir Iterable döndürür; List için .toList() çağırılır. fold doğrudan tek bir değer döndürür; .toList() gerekmez. Ok fonksiyonu (param) => ifade biçiminde yazılır.
Uygulama map ile iki katına çıkar
var numbers = [1, 2, 3]; ile bir List tanımla. doubled adında bir değişken tanımla ve numbers.map((x) => x * 2).toList() sonucunu ata (map bir Iterable döndürür; .toList() ile List'e çevir). print(doubled); ile yazdır. Çıktı tek satırda [2, 4, 6] olmalı.
Başlangıç kodu
// numbers değişkenini tanımla, map ile iki katına çıkar (toList ile List'e çevir) ve yazdırÖrnek çözüm
var numbers = [1, 2, 3];
var doubled = numbers.map((x) => x * 2).toList();
print(doubled);Beklenen çıktı
[2, 4, 6]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Metodu işlevine eşle
| Kavram | Anlamı |
|---|---|
map |
Her elemanı dönüştürür |
where |
Elemanları süzer |
fold |
Tek değer üretir |
.toList() |
Iterable'ı List'e çevirir |
2 map metodu ne yapar?
[1, 2, 3].map((x) => x * 2)- Listeyi sıralar
- Elemanları süzer
- Tek bir değer üretir
- Her elemanı dönüştürür Doğru cevap
Açıklama: map her elemanı verilen fonksiyonla dönüştürür.
3 map çağrısını yaz
var numbers = [1, 2, 3];
var doubled = numbers____;
print(doubled);
var numbers = [1, 2, 3];
var doubled = numbers.map((x) => x * 2).toList();
print(doubled);
Açıklama: map Iterable döndürür; .toList() ile List'e çevrilir.