Sobes.tech
Junior — Middle

Vysvetlite princíp fungovania metódy Flat Map a jej rozdiel od bežného Map pri spracovaní kolekcií údajov.

sobes.tech AI

Odpoveď od AI

Metóda map transformuje každý prvok kolekcie aplikovaním funkcie a vráti pole výsledkov. Ak funkcia vracia kolekciu, výsledkom bude pole kolekcií.

flatMap najskôr aplikuje funkciu na každý prvok, ako map, ale potom "zhladí" (flatten) vnorené kolekcie do jedného plochého poľa.

Príklad:

let numbers = [1, 2, 3]

// map s funkciou, ktorá vracia pole
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]

// flatMap s rovnakou funkciou
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]

Preto je flatMap užitočný, keď funkcia vracia kolekciu a chcete získať jedno ploché pole bez vnorených polí.