Junior — Middle
Wat is het verschil tussen het gebruik van de methoden map en compactMap bij het verwerken van collecties?
sobes.tech AI
Antwoord van AI
De methoden map en compactMap worden gebruikt om elementen van een collectie te transformeren, maar verschillen in hoe ze omgaan met optionele waarden.
mappast een functie toe op alle elementen en retourneert een array met de resultaten, inclusiefnilals de functie een optioneel retourneert.compactMappast de functie toe en negeert automatisch allenil-waarden, waardoor alleen niet-nil-elementen overblijven.
Voorbeeld:
let numbers = ["1", "2", "three", "4"]
// map geeft [Int?]
let mapped = numbers.map { Int($0) } // [1, 2, nil, 4]
// compactMap geeft [Int], waarbij nil wordt genegeerd
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]
Gebruik compactMap wanneer je wilt transformeren en tegelijkertijd ongeldige of ontbrekende waarden wilt verwijderen.