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