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