Sobes.tech
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.