Sobes.tech
Intern

¿Cuál es tu función favorita en el lenguaje Swift?

sobes.tech AI

Respuesta de la IA

Mi función favorita es flatMap para colecciones.

Permite transformar una colección que contiene valores opcionales o colecciones anidadas en una colección plana, descartando nil o combinando los elementos anidados.

Ejemplo con opcionales:

// Array de cadenas, algunas de las cuales pueden ser nil
let strings: [String?] = ["Hello", nil, "World", nil, "Swift"]

// Usamos flatMap para eliminar nil y obtener un array de cadenas no opcionales
let nonNilStrings = strings.flatMap { $0 }

// nonNilStrings ahora es ["Hello", "World", "Swift"]

Ejemplo con colecciones anidadas:

// Array de arrays de números
let nestedArrays = [[1, 2], [3, 4, 5], [6]]

// Usamos flatMap para crear un array plano único
let flatArray = nestedArrays.flatMap { $0 }

// flatArray ahora es [1, 2, 3, 4, 5, 6]

flatMap hace que el código sea más limpio y expresivo al trabajar con estas estructuras de datos, eliminando la necesidad de escribir bucles complejos o usar compactMap.