Junior — Middle
Magyarázza el a Flat Map módszer működési elvét és annak különbségét a szokásos Map-hez képest az adatkészletek feldolgozásakor.
sobes.tech MI
Válasz az MI-től
A map metódus minden elemre alkalmaz egy függvényt, és eredményként egy eredményekből álló tömböt ad vissza. Ha a függvény egy kollekciót ad vissza, akkor az eredmény egy kollekciók tömbje lesz.
A flatMap először alkalmazza a függvényt minden elemre, mint a map, de utána "kiszéleszti" (flatten) a beágyazott kollekciókat egyetlen sík tömbbé.
Példa:
let numbers = [1, 2, 3]
// map egy olyan függvénnyel, ami tömböt ad vissza
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]
// ugyanazzal a függvénnyel flatMap
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]
Ezért a flatMap akkor hasznos, amikor a függvény kollekciót ad vissza, és egy sík tömböt szeretnénk kapni beágyazott tömbök nélkül.