Sobes.tech
Junior — Middle

Explicați principiul de funcționare al metodei Flat Map și diferența față de Map-ul obișnuit în procesarea colecțiilor de date.

sobes.tech AI

Răspuns de la AI

Metoda map transformă fiecare element al colecției aplicând o funcție și returnează un array de rezultate. Dacă funcția returnează o colecție, rezultatul va fi un array de colecții.

flatMap aplică mai întâi funcția fiecărui element, ca map, dar apoi "aplatizează" (flatten) colecțiile imbricate într-un singur array plat.

Exemplu:

let numbers = [1, 2, 3]

// map cu o funcție care returnează un array
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]

// flatMap cu aceeași funcție
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]

Prin urmare, flatMap este util atunci când funcția returnează o colecție și doriți să obțineți un array plat fără array-uri imbricate.