CodeBlanks Logo Icon CodeBlanks

List methods

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

main.dart
// numbers değişkenini tanımla, map ile iki katına çıkar (toList ile List'e çevir) ve yazdır

Örnek çözüm

main.dart
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?

main.dart
[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

Soru
var numbers = [1, 2, 3];
var doubled = numbers____;
print(doubled);
Cevap
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.

Başlangıç bölümündeki tüm dersler