Junior — Middle
Explique le principe de fonctionnement de la méthode Flat Map et sa différence avec le Map classique lors du traitement de collections de données.
sobes.tech IA
Réponse de l'IA
La méthode map transforme chaque élément de la collection en appliquant une fonction, et renvoie un tableau de résultats. Si la fonction renvoie une collection, le résultat sera un tableau de collections.
flatMap applique d’abord la fonction à chaque élément, comme map, mais ensuite "aplatit" (flatten) les collections imbriquées en un seul tableau plat.
Exemple :
let numbers = [1, 2, 3]
// map avec une fonction qui retourne un tableau
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]
// flatMap avec la même fonction
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]
Ainsi, flatMap est pratique lorsque la fonction retourne une collection et que vous souhaitez obtenir un tableau plat sans tableaux imbriqués.