Junior — Middle
Selgitage Flat Map meetodi tööpõhimõtet ja selle erinevust tavalisest Map-ist andmekogumite töötlemisel.
sobes.tech AI
Vastus AI-lt
Meetod map transformeerib iga elementide kogumis, rakendades funktsiooni, ja tagastab tulemuste massiivi. Kui funktsioon tagastab kogumi, siis tulemus on kogumite massiiv.
flatMap rakendab esmalt funktsiooni iga elemendi jaoks, nagu map, kuid seejärel "lameerib" (flatten) sisemised kogumid üheks tasapinnaliseks massiiviks.
Näide:
let numbers = [1, 2, 3]
// map funktsiooniga, mis tagastab massiivi
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]
// sama funktsiooniga flatMap
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]
Seega on flatMap kasulik, kui funktsioon tagastab kogumi ja soovite saada ühe tasapinnalise massiivi ilma sisemiste massiivideta.