Skip to content

filter

La méthode filter() sélectionne les éléments d'un tableau qui satisfont un prédicat et retourne un nouveau tableau. Elle peut aussi servir de type guard pour affiner le typage des éléments conservés.

Exemple interactif

Syntaxe

Signature classique

typescript
// Type Guard
function filter<
	GenericInput extends readonly unknown[],
	GenericOutput extends GenericInput[number]
>(
	input: GenericInput,
predicate: (
	element: GenericInput[number],
	params: ArrayFilterParams<GenericInput>
) => element is GenericOutput
): GenericOutput[]

// Boolean
function filter<
	GenericInput extends readonly unknown[]
>(
	input: GenericInput,
predicate: (
	element: GenericInput[number],
	params: ArrayFilterParams<GenericInput>
) => boolean
): GenericInput[number][]

Signature currifiée

typescript
// Type Guard
function filter<
	GenericInput extends readonly unknown[],
	GenericOutput extends GenericInput[number]
>(
predicate: (
	element: GenericInput[number],
	params: ArrayFilterParams<GenericInput>
) => element is GenericOutput
): (input: GenericInput) => GenericOutput[]

// Boolean
function filter<
	GenericInput extends readonly unknown[]
>(
predicate: (
	element: GenericInput[number],
	params: ArrayFilterParams<GenericInput>
) => boolean
): (array: GenericInput) => GenericInput[number][]

Paramètres auxiliaires

typescript
interface ArrayFilterParams<
	GenericInputArray extends readonly unknown[]
> {
	index: number;
	self: GenericInputArray;
}

Paramètres

  • input : Le tableau à filtrer.
  • predicate : Fonction appliquée à chaque élément. Elle décide si l'élément est conservé et peut agir comme type guard.
  • params.index : Position de l'élément courant dans le tableau d'origine.
  • params.self : Le tableau complet (utile pour comparer ou inspecter un voisin pendant le filtrage).

Valeur de retour

Un nouveau tableau contenant uniquement les éléments pour lesquels le prédicat retourne true. L'ordre est préservé et le tableau initial reste inchangé.

Voir aussi

  • map - Transforme chaque élément
  • every - Vérifie si tous les éléments satisfont une condition

Sources

Diffusé sous licence MIT.