Sobes.tech
Junior — Middle

¿En qué se diferencian el uso de los métodos map y compactMap al procesar colecciones?

sobes.tech AI

Respuesta de la IA

Los métodos map y compactMap se utilizan para transformar elementos de una colección, pero difieren en cómo manejan los valores opcionales.

  • map aplica una función a todos los elementos y devuelve un array con los resultados, incluyendo nil si la función devuelve un opcional.
  • compactMap aplica la función y descarta automáticamente todos los valores nil, devolviendo un array solo con elementos no-nil.

Ejemplo:

let numbers = ["1", "2", "three", "4"]

// map devuelve [Int?]
let mapped = numbers.map { Int($0) } // [1, 2, nil, 4]

// compactMap devuelve [Int], descartando nil
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]

Utilice compactMap cuando desee transformar y al mismo tiempo eliminar valores no válidos o ausentes.