Swift Language Estrazione di valori di un determinato tipo da una matrice con flatMap (_ :)


Esempio

Le things Array contiene valori di Any tipo.

let things: [Any] = [1, "Hello", 2, true, false, "World", 3]

Possiamo estrarre i valori di un determinato tipo e creare una nuova matrice di quel tipo specifico. Diciamo che vogliamo estrarre tutti gli Int(s) e inserirli in un Int Array in modo sicuro.

let numbers = things.flatMap { $0 as? Int }

Ora i numbers sono definiti come [Int] . La funzione flatMap tutti gli elementi nil e il risultato contiene quindi solo i seguenti valori:

[1, 2, 3]