Sobes.tech
Junior — Middle

Spiega il principio di funzionamento del metodo Flat Map e la sua differenza rispetto alla normale Map nell'elaborazione di collezioni di dati.

sobes.tech AI

Risposta dell'AI

Il metodo map trasforma ogni elemento della collezione applicando una funzione e restituisce un array di risultati. Se la funzione restituisce una collezione, il risultato sarà un array di collezioni.

flatMap applica prima la funzione a ogni elemento, come map, ma poi "appiattisce" (flatten) le collezioni annidate in un unico array piatto.

Esempio:

let numbers = [1, 2, 3]

// map con funzione che restituisce un array
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]

// flatMap con la stessa funzione
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]

Quindi, flatMap è utile quando la funzione restituisce una collezione e si desidera ottenere un array piatto senza array annidati.