Junior — Middle
Wat is de functie van de flatMap-methode en hoe verschilt deze van map in datastromen?
sobes.tech AI
Antwoord van AI
De flatMap-methode wordt gebruikt om de elementen van een stroom te transformeren, waarbij elk element kan worden omgezet in een andere stroom (of collectie), en vervolgens worden al deze geneste stromen samengevoegd tot één platte stroom. In tegenstelling tot map, dat elk element eenvoudigweg in een ander element omzet, "pakt" flatMap geneste structuren uit en voegt ze samen.
Voorbeeld in Swift met sequenties:
let numbers = [1, 2, 3]
// map transformeert elk element in een array met twee elementen
let mapped = numbers.map { [ $0, $0 * 10 ] }
// mapped: [[1, 10], [2, 20], [3, 30]]
// flatMap voegt alle geneste arrays samen tot één
let flatMapped = numbers.flatMap { [ $0, $0 * 10 ] }
// flatMapped: [1, 10, 2, 20, 3, 30]
Dus, flatMap is handig wanneer het resultaat van de transformatie een collectie is en je één platte stroom van elementen wilt krijgen.