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 είναι χρήσιμο όταν το αποτέλεσμα της μετατροπής είναι μια συλλογή και θέλετε να πάρετε ένα μόνο επίπεδο ρεύμα στοιχείων.