Sobes.tech
Junior — Middle

Care este scopul metodei flatMap și cum diferă de map în fluxurile de date?

sobes.tech AI

Răspuns de la AI

Metoda flatMap este utilizată pentru a transforma elementele unui flux, unde fiecare element poate fi transformat într-un alt flux (sau colecție), iar apoi toate aceste fluxuri înglobate sunt combinate într-un singur flux plat. Spre deosebire de map, care pur și simplu transformă fiecare element într-altul, flatMap "dezlipește" structurile înglobate și le unește.

Exemplu în Swift cu secvențe:

let numbers = [1, 2, 3]
// map transformă fiecare element într-un array cu două elemente
let mapped = numbers.map { [ $0, $0 * 10 ] }
// mapped: [[1, 10], [2, 20], [3, 30]]

// flatMap combină toate array-urile înglobate într-unul singur
let flatMapped = numbers.flatMap { [ $0, $0 * 10 ] }
// flatMapped: [1, 10, 2, 20, 3, 30]

Prin urmare, flatMap este util atunci când rezultatul transformării este o colecție și doriți să obțineți un singur flux plat de elemente.