Junior — Middle
Kā atšķiras map un compactMap metožu izmantošana kolekciju apstrādē?
sobes.tech AI
Atbilde no AI
Metodes map un compactMap tiek izmantotas kolekcijas elementu pārveidošanai, bet atšķiras ar to, kā tās apstrādā opcionalās vērtības.
mappiemēro funkciju visiem elementiem un atgriež rezultātu masīvu, ieskaitotnil, ja funkcija atgriež opcionalo vērtību.compactMappiemēro funkciju un automātiski noraida visusnilvērtības, atgriežot tikai arne-nil` elementiem pilnu masīvu.
Piemērs:
let numbers = ["1", "2", "three", "4"]
// map atgriež [Int?]
let mapped = numbers.map { Int($0) } // [1, 2, nil, 4]
// compactMap atgriež [Int], noraidot `nil`
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]
Izmantojiet compactMap, ja vēlaties pārveidot un vienlaikus izņemt nederīgas vai trūkstošas vērtības.