Junior — Middle
Kolleksiyaları işləyərkən map və compactMap metodlarının istifadəsi arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
map və compactMap metodları kolleksiyanın elementlərini çevirmək üçün istifadə olunur, lakin onlar opsional dəyərlərlə necə işləmələrinə görə fərqlənirlər.
mapbütün elementlərə funksiya tətbiq edir və nəticələrlə birlikdə bir massiv qaytarır, funksiyanın opsional qaytarması halındanildaxil edilir.compactMapfunksiyanı tətbiq edir və avtomatik olaraq bütünnildəyərlərini atır, yalnıznilolmayan elementlərdən ibarət massiv qaytarır.
Nümunə:
let numbers = ["1", "2", "three", "4"]
// map [Int?] qaytarır
let mapped = numbers.map { Int($0) } // [1, 2, nil, 4]
// compactMap [Int] qaytarır və nil-ləri atır
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]
Yanlış və ya mövcud olmayan dəyərləri çevirmək və eyni zamanda onları aradan qaldırmaq üçün compactMap istifadə edin.