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

  • map past een functie toe op alle elementen en retourneert een array met de resultaten, inclusief nil als de functie een optioneel retourneert.
  • compactMap past de functie toe en negeert automatisch alle nil-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.