Junior — Middle
Explica el principio de funcionamiento del método Flat Map y su diferencia con el Map normal al procesar colecciones de datos.
sobes.tech AI
Respuesta de la IA
El método map transforma cada elemento de la colección aplicando una función y devuelve un array de resultados. Si la función devuelve una colección, el resultado será un array de colecciones.
flatMap primero aplica la función a cada elemento, como map, pero luego "aplana" (flattens) las colecciones anidadas en un solo array plano.
Ejemplo:
let numbers = [1, 2, 3]
// map con una función que devuelve un array
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]
// flatMap con la misma función
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]
Por lo tanto, flatMap es útil cuando la función devuelve una colección y se desea obtener un array plano sin arrays anidados.