Junior — Middle
Objasnite princip rada metode Flat Map i njegovu razliku od običnog Map prilikom obrade kolekcija podataka.
sobes.tech АИ
Одговор од АИ
Метода map трансформише сваки елемент колекције применом функције и враћа низ резултата. Ако функција враћа колекцију, резултат ће бити низ колекција.
flatMap прво примењује функцију на сваки елемент, као map, али затим "изравна" (flatten) унутрашње колекције у један плоски низ.
Пример:
let numbers = [1, 2, 3]
// map са функцијом која враћа низ
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]
// flatMap са истом функцијом
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]
Због тога, flatMap је користан када функција враћа колекцију и желите добити један плоски низ без унутрашњих низова.