Skip to content

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.

Voir aussi

  • map - Applique une fonction à chaque élément
  • flat - Aplati un tableau imbriqué

Sources

Diffusé sous licence MIT.