flatMap
La méthode flatMap() applique une fonction de transformation sur chaque élément puis aplati automatiquement le résultat d'un niveau. Elle combine donc map() et flat(1) en une seule étape.
Exemple interactif
Syntaxe
Signature classique
typescript
function flatMap<
GenericInput extends readonly unknown[],
GenericOutput extends unknown
>(
input: GenericInput,
theFunction: (
element: GenericInput[number],
params: ArrayFlatMapParams<GenericInput>
) => GenericOutput
): FlatArray<GenericOutput, 1>[]Signature currifiée
typescript
function flatMap<
GenericInput extends readonly unknown[],
GenericOutput extends unknown
>(
theFunction: (
element: GenericInput[number],
params: ArrayFlatMapParams<GenericInput>
) => GenericOutput
): (input: GenericInput) => FlatArray<GenericOutput, 1>[]Paramètres auxiliaires
typescript
interface ArrayFlatMapParams<
GenericInputArray extends readonly unknown[]
> {
index: number;
self: GenericInputArray;
}Paramètres
input: Le tableau source.theFunction: Fonction appliquée sur chaque élément. Elle retourne un tableau (ou une valeur) qui sera aplati d'un niveau.params.index: Position de l'élément courant.params.self: Le tableau complet (pratique pour comparer la longueur ou accéder aux voisins pendant la transformation).
Valeur de retour
Un nouveau tableau avec les valeurs transformées et aplaties sur un niveau. Les tuples d'entrée conservent un typage précis grâce à FlatArray.
