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.