Sobes.tech
Junior — Middle

Izskaidrojiet Flat Map metodes darbības principu un tās atšķirību no parastās Map, apstrādājot datu kolekcijas.

sobes.tech AI

Atbilde no AI

map metode katrs kolekcijas elements tiek, izmantojot funkciju, un atgriež rezultātu masīvu. Ja funkcija atgriež kolekciju, rezultāts būs kolekciju masīvs.

flatMap vispirms piemēro funkciju katram elementam, tāpat kā map, bet tad "izlīdzina" (flatten) iekšējās kolekcijas vienā plakanā masīvā.

Piemērs:

let numbers = [1, 2, 3]

// map ar funkciju, kas atgriež masīvu
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]

// ar to pašu funkciju flatMap
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]

Tādēļ flatMap ir noderīgs, kad funkcija atgriež kolekciju un vēlaties iegūt vienu plānu masīvu bez iekšējiem masīviem.