Junior — Middle
Erklären Sie das Funktionsprinzip der Flat Map-Methode und ihre Unterschiede zur normalen Map bei der Verarbeitung von Datenkollektionen.
sobes.tech KI
Antwort von AI
Die Methode map wandelt jedes Element der Sammlung um, indem sie eine Funktion anwendet, und gibt ein Array von Ergebnissen zurück. Wenn die Funktion eine Sammlung zurückgibt, ist das Ergebnis ein Array von Sammlungen.
flatMap wendet zunächst die Funktion auf jedes Element an, wie map, aber "flacht" dann die verschachtelten Sammlungen in ein einziges flaches Array ab.
Beispiel:
let numbers = [1, 2, 3]
// map mit einer Funktion, die ein Array zurückgibt
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// mapped = [[1], [2, 2], [3, 3, 3]]
// flatMap mit derselben Funktion
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// flatMapped = [1, 2, 2, 3, 3, 3]
Daher ist flatMap nützlich, wenn die Funktion eine Sammlung zurückgibt und man ein einziges flaches Array ohne verschachtelte Arrays erhalten möchte.