Sobes.tech
Junior — Middle

Care este diferența dintre utilizarea metodelor map și compactMap în procesarea colecțiilor?

sobes.tech AI

Răspuns de la AI

Metodele map și compactMap sunt utilizate pentru a transforma elementele unei colecții, dar diferă în modul în care gestionează valorile opționale.

  • map aplică o funcție tuturor elementelor și returnează un array cu rezultatele, inclusiv nil dacă funcția returnează un optional.
  • compactMap aplică funcția și ignoră automat toate valorile nil, returnând un array doar cu elemente non-nil.

Exemplu:

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

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

// compactMap returnează [Int], ignorând nil
let compactMapped = numbers.compactMap { Int($0) } // [1, 2, 4]

Folosiți compactMap când doriți să transformați și să eliminați în același timp valorile invalide sau lipsă.