Junior — Middle
Vysvětlete princip fungování metody Flat Map a její rozdíl od běžné Map při zpracování datových kolekcí.
sobes.tech AI
Odpověď od AI
Metoda map přemění každý prvek kolekce aplikací funkce a vrátí pole výsledků. Pokud funkce vrací kolekci, bude výsledkem pole kolekcí.
flatMap nejprve aplikuje funkci na každý prvek, stejně jako map, ale poté "zploští" (flatten) vnořené kolekce do jednoho plochého pole.
Příklad:
let numbers = [1, 2, 3]
// map s funkcí, která vrací pole
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]
// flatMap se stejnou funkcí
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]
Proto je flatMap užitečný, když funkce vrací kolekci a chcete získat jedno ploché pole bez vnořených polí.