Furkan Sandal

Swift Array İşlemleri: Map, Flatmap, Compactmap, Filter, Reduce

Selamlar, Yüksek mertebeli olan Map, Flatmap, Compactmap, Filter ve Reduce işlemleri nedir? Nerelerde kullanılır? Bunları sizlere güzel bir şekilde anlatmayı hedefliyorum 🙂 iOS gelişitiriyorsanız eğer bunlara ihtiyacınız olacak 🙂

Kodları Github’ta görmek için tıklayın!

Girişten önce son çıkış: Diziler v0.1

Şehir isimleri uygulaması yapalım hemen. Python dilinden aşina olduğum yapı swift’te de mevcuttu. Öncelikle yeni bir sehirler dizisi oluşturdum, for döngüsüyle index’i alıp sehirler dizindeki index indisini büyütüp atadım. Klasik basit bir dizi ve döngü diyebiliriz. Hiç sorun yok değil mi? Evet yok 🙂 Ama daha kolaylaştırabileceğiz ileride.

Swift array – dizi büyütmek

Hadi kısaltalım :Map v1.0

Map ile dizi işlemleri
Swift map

Sadece yazdırmak veya fonksiyon içerisinde kullanmak isterseniz yukarıdaki gibi yapabilirsiniz. Görselleri önceden hazırladığım için var’ı let yapabilirsiniz 🙂 2 satırda bu işlemi yapabiliriz.

Hadi karmaşık işlere girelim yavaştan: Flatmap v1.1

Swift flatmap

Ama bir sorun var değil mi? Evet evet var, nil değerler bizim için şuan sorun teşkil ediyor. Hadi bunlardan kurtulalım. Ama bunun için 3.fonksiyonumuz devreye giriyor, Compactmap.

Yok et (nil) : CompactMap v1.2

Swift compactmap

Birleştir ve Yok et: Compactmap + Flatmap v1.3

Her ikisinin birbirinden farklı özelliği var. Şimdi bu ihtiyaçlarımıza göre dizilerimizi birleştirip olmayan değerleri aradan çıkartalım.

Hem birleştirdik hem birleştirdik hem nil değerleri yok ettik 🙂

Swift compact map flatmap

Filtreleyelim : Filter v2.0

Swift filter kullanımı

Tek parça yapalım aslanım: Reduce v2.1

Swift reduce kullanımı

Basit ama çok kullanışlı fonksiyonları görmüş oldunuz 🙂 Takıldığınız ve merak ettiğiniz herhangi bir yerde yorum atabilirsiniz 🙂

Exit mobile version