Sobes.tech
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 је користан када функција враћа колекцију и желите добити један плоски низ без унутрашњих низова.