Sobes.tech
Junior — Middle

Paaiškinkite Flat Map metodo veikimo principą ir jo skirtumą nuo įprasto Map apdorojant duomenų rinkinius.

sobes.tech AI

Atsakymas iš AI

map metodas paverčia kiekvieną kolekcijos elementą taikant funkciją ir grąžina rezultatų masyvą. Jei funkcija grąžina kolekciją, rezultatas bus kolekcijų masyvas.

flatMap pirmiausia taiko funkciją kiekvienam elementui, kaip map, bet tada "išlygina" (flatten) įdėtus kolekcijas į vieną plokščią masyvą.

Pavyzdys:

let numbers = [1, 2, 3]

// map su funkcija, kuri grąžina masyvą
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]

// tas pačias funkcijas su flatMap
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]

Todėl flatMap yra naudinga, kai funkcija grąžina kolekciją ir norite gauti vieną plokščią masyvą be įdėtų masyvų.