Sobes.tech
Junior — Middle

რა არის flatMap მეთოდის დანიშნულება და როგორ განსხვავდება ის map-დან მონაცემთა ნაკადებში?

sobes.tech AI

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

flatMap მეთოდი გამოიყენება ნაკადის ელემენტების გარდაქმნისთვის, სადაც თითოეული ელემენტი შეიძლება გარდაიქმნას სხვა ნაკადში (ან კოლექციაში), და შემდეგ ყველა ეს შიდა ნაკადი ერთგვარად ერთიანდება ერთ სუფთა ნაკადში. განსხვავებით map-ისგან, რომელიც უბრალოდ გარდაქმნის თითოეულ ელემენტს სხვა ელემენტად, flatMap "გახსნის" შიდა სტრუქტურებს და აერთიანებს მათ.

მაგალითი Swift-ით სერიული მონაცემებით:

let numbers = [1, 2, 3]
// map გარდაქმნის თითოეულ ელემენტს ორ ელემენტიან მასივად
let mapped = numbers.map { [ $0, $0 * 10 ] }
// mapped: [[1, 10], [2, 20], [3, 30]]

// flatMap აერთიანებს ყველა შიდა მასივს ერთში
let flatMapped = numbers.flatMap { [ $0, $0 * 10 ] }
// flatMapped: [1, 10, 2, 20, 3, 30]

ამიტომ, flatMap სასარგებლოა, როდესაც გარდაქმნის შედეგი კოლექციაა და გსურთ მიიღოთ ერთი სუფთა ნაკადი ელემენტებით.