Junior — Middle
Εξηγήστε τη λειτουργία της μεθόδου Flat Map και τη διαφορά της από το κανονικό Map κατά την επεξεργασία συλλογών δεδομένων.
sobes.tech AI
Απάντηση από AI
Η μέθοδος map μετατρέπει κάθε στοιχείο της συλλογής εφαρμόζοντας μια συνάρτηση και επιστρέφει έναν πίνακα αποτελεσμάτων. Αν η συνάρτηση επιστρέφει μια συλλογή, το αποτέλεσμα θα είναι ένας πίνακας συλλογών.
Το flatMap εφαρμόζει πρώτα τη συνάρτηση σε κάθε στοιχείο, όπως το map, αλλά στη συνέχεια "εξομαλύνει" (flatten) τις εσωτερικές συλλογές σε έναν ενιαίο επίπεδο πίνακα.
Παράδειγμα:
let numbers = [1, 2, 3]
// map με μια συνάρτηση που επιστρέφει έναν πίνακα
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]
// flatMap με την ίδια συνάρτηση
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]
Έτσι, το flatMap είναι χρήσιμο όταν η συνάρτηση επιστρέφει μια συλλογή και θέλετε να πάρετε έναν επίπεδο πίνακα χωρίς εσωτερικούς πίνακες.