Sobes.tech
Junior — Middle

გთხოვთ ახსნათ Flat Map მეთოდის მუშაობის პრინციპი და მისი განსხვავება ჩვეულებრივ Map-თან მონაცემთა კოლექციების დამუშავებისას.

sobes.tech AI

პასუხი AI-სგან

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 სასარგებლოა, როდესაც ფუნქცია აბრუნებს კოლექციას და გსურთ მიიღოთ ერთი სუფთა მასივი, გარეშე შიდა მასივების.