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.