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ürsenildahil edilir.compactMap, fonksiyonu uygular ve otomatik olarak tümnildeğerlerini atar, sadecenilolmayan öğ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.