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-ը օգտակար է, երբ ֆունկցիան վերադարձնում է հավաքածու և ցանկանում եք ստանալ մեկ հարթ զանգված առանց ներքին զանգվածների։