Junior — Middle
Quelle est la différence entre l'utilisation des méthodes map et compactMap lors du traitement des collections?
sobes.tech IA
Réponse de l'IA
Les méthodes map et compactMap sont utilisées pour transformer les éléments d'une collection, mais diffèrent dans la gestion des valeurs optionnelles.
mapapplique une fonction à tous les éléments et retourne un tableau avec les résultats, y comprisnilsi la fonction retourne une valeur optionnelle.compactMapapplique la fonction et ignore automatiquement tous lesnil, ne retournant qu'un tableau avec des éléments non-nil.
Exemple :
let numbers = ["1", "2", "three", "4"]
// map retourne [Int?]
let mapped = numbers.map { Int($0) } // [1, 2, nil, 4]
// compactMap retourne [Int], en ignorant nil
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]
Utilisez compactMap lorsque vous souhaitez transformer tout en éliminant les valeurs invalides ou manquantes.