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