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.