Sobes.tech
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

mapcompactMap 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.

  • map bütün elementlərə funksiya tətbiq edir və nəticələrlə birlikdə bir massiv qaytarır, funksiyanın opsional qaytarması halında nil daxil edilir.
  • compactMap funksiyanı tətbiq edir və avtomatik olaraq bütün nil dəyərlərini atır, yalnız nil olmayan 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.