Junior — Middle
Čime se razlikuje korišćenje metoda map i compactMap prilikom obrade kolekcija?
sobes.tech АИ
Одговор од АИ
Metode map i compactMap koriste se za transformaciju elemenata kolekcije, ali se razlikuju u načinu na koji rukovode opcionalnim vrednostima.
mapprimenjuje funkciju na sve elemente i vraća niz sa rezultatima, uključujućinilako funkcija vraća opcional.compactMapprimenjuje funkciju i automatski odbacuje svenilvrednosti, vraćajući niz samo sa ne-nilelementima.
Primer:
let numbers = ["1", "2", "three", "4"]
// map vraća [Int?]
let mapped = numbers.map { Int($0) } // [1, 2, nil, 4]
// compactMap vraća [Int], ignorišući nil
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]
Koristite compactMap kada želite da transformišete i istovremeno uklonite nevažeće ili nestale vrednosti.