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

  • map applique une fonction à tous les éléments et retourne un tableau avec les résultats, y compris nil si la fonction retourne une valeur optionnelle.
  • compactMap applique la fonction et ignore automatiquement tous les nil, 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.