Sobes.tech
Junior — Middle

Mi a flatMap módszer célja, és miben különbözik a map-től az adatfolyamokban?

sobes.tech MI

Válasz az MI-től

A flatMap módszer az áram elemeinek átalakítására szolgál, ahol minden elem másik árammá (vagy gyűjteménnyé) alakítható, majd ezeket a beágyazott áramokat egyetlen sík árammá egyesítjük. A map-tól eltérően, amely egyszerűen minden elemet másik elemmé alakít, a flatMap "kicsomagolja" a beágyazott struktúrákat és összefűzi azokat.

Swift példában szekvenciákkal:

let numbers = [1, 2, 3]
// a map minden elemet két elemű tömbbé alakít
let mapped = numbers.map { [ $0, $0 * 10 ] }
// mapped: [[1, 10], [2, 20], [3, 30]]

// a flatMap összefűzi az összes beágyazott tömböt egybe
let flatMapped = numbers.flatMap { [ $0, $0 * 10 ] }
// flatMapped: [1, 10, 2, 20, 3, 30]

Ezért a flatMap akkor hasznos, ha az átalakítás eredménye gyűjtemény, és egyetlen sík elemlistát szeretnénk kapni.