CodeBlanks Logo Icon CodeBlanks

map

.map ile dönüştürme öğrenirsin.

map metodu

map metodu bir koleksiyondaki her elemanı dönüştürür ve yeni bir koleksiyon üretir. Özgün liste değişmez; sonuç yeni bir Iterable'dır.

Örnek: var iki_kat = [1, 2, 3].map((n) => n * 2);. Burada her sayı ikiye katlanır. Sonuç [2, 4, 6] olur. (n) => n * 2 bir ok fonksiyonudur; her eleman için çalışır.

map tembel çalışır; sonuçu görmek için toList() ile listeye çevirmen gerekir. Bu metot, veriyi biçim değiştirmek için en sık kullanılan araçtır.

map ile dönüştürme

map metodu bir ok fonksiyonu alır. Bu fonksiyon her eleman için çağrılır ve dönüş değeri yeni koleksiyona eklenir. Eleman tipini de değiştirebilirsin.

Örnek: var isimler = ['ayşe', 'mehmet'];. var büyük = isimler.map((s) => s.toUpperCase());. Sonuç: ['AYŞE', 'MEHMET']. Burada String elemanlar büyük harfe çevrilir.

Başka örnek: var uzunluklar = isimler.map((s) => s.length);. Bu, String'leri int'e dönüştürür. map esnektir; dönüş tipi senin belirlediğin ok fonksiyonuna bağlıdır.

Uygulama Sayıları ikiye katla

[1, 2, 3] listesi üzerinde map çağır. Ok fonksiyonu (n) => n * 2 olsun. Sonucu toList() ile listeye çevir ve yazdır.

Başlangıç kodu

main.dart
void main() {
  var sayilar = [1, 2, 3];
  // .map ile her elemanı ikiye katla, toList ile listeye çevir ve yazdır
}

Örnek çözüm

main.dart
void main() {
  var sayilar = [1, 2, 3];
  var iki_kat = sayilar.map((n) => n * 2);
  print(iki_kat.toList());
}

Beklenen çıktı

[2, 4, 6]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 map metodu özgün listeyi değiştirir mi?

main.dart
var a = [1, 2, 3];
var b = a.map((n) => n * 2);
  • Evet, yerinde değiştirir
  • Yalnızca yazdırır
  • Hayır, yeni bir Iterable üretir Doğru cevap
  • Listeyi siler

Açıklama: map özgün listeyi değiştirmez, yeni Iterable döndürür.

2 map çağrısı

Soru
var sayilar = [1, 2, 3];
var iki_kat = sayilar.____((n) => n * 2);
Cevap
var sayilar = [1, 2, 3];
var iki_kat = sayilar.map((n) => n * 2);

Açıklama: map her elemanı dönüştürür.

3 map parçalarını eşleştir

Kavram Anlamı
(n) => n * 2 Ok fonksiyonu
.map(...) Dönüştürme çağrısı
.toList() Sonucu üretme
[2, 4, 6] Dönüştürülmüş sonuç

Orta seviye bölümündeki tüm dersler