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