Sobes.tech
Junior — Middle

Koleksiyonları işlerken map ve compactMap metodlarının kullanımı arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

map ve compactMap yöntemleri, koleksiyon öğelerini dönüştürmek için kullanılır, ancak opsiyonel değerlerle nasıl başa çıktıkları açısından farklılık gösterirler.

  • map, tüm öğelere bir fonksiyon uygular ve sonucu içeren bir dizi döner, fonksiyon bir opsiyonel döndürürse nil dahil edilir.
  • compactMap, fonksiyonu uygular ve otomatik olarak tüm nil değerlerini atar, sadece nil olmayan öğelerle bir dizi döner.

Örnek:

let numbers = ["1", "2", "three", "4"]

// map, [Int?] döner
let mapped = numbers.map { Int($0) } // [1, 2, nil, 4]

// compactMap, [Int] döner ve nil'leri atar
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]

Geçersiz veya eksik değerleri dönüştürmek ve aynı zamanda kaldırmak istiyorsanız compactMap kullanın.