Skip to content

group

La méthode group() regroupe les éléments d'un tableau selon une clé calculée et retourne un objet indexé par nom de groupe avec les éléments associés.

Exemple interactif

Syntaxe

Signature classique

typescript
function group<
	GenericInput extends readonly unknown[],
	GenericOutput extends ArrayGroupFunctionOutput
>(
	input: GenericInput,
	theFunction: (
		element: GenericInput[number], 
		params: ArrayGroupFunctionParams
	) => GenericOutput
): ArrayGroupResult<GenericOutput>

Signature currifiée

typescript
function group<
	GenericInput extends readonly unknown[],
	GenericOutput extends ArrayGroupFunctionOutput
>(
	theFunction: (
		element: GenericInput[number],
		params: ArrayGroupFunctionParams
	) => GenericOutput
): (input: GenericInput) => ArrayGroupResult<GenericOutput>

Paramètres auxiliaires

typescript
interface ArrayGroupFunctionOutput<
	GenericGroupName extends string = string, 
	GenericGroupValue extends unknown = unknown
> {
	group: GenericGroupName;
	value: GenericGroupValue;
}

interface ArrayGroupFunctionParams {
	index: number;
	output: typeof groupOutput;
}

function groupOutput<
	GenericGroupValue extends unknown, 
	GenericGroupName extends string
>(
	group: GenericGroupName
): (
	value: GenericGroupValue
) => ArrayGroupFunctionOutput<GenericGroupName, GenericGroupValue>;

function groupOutput<
	GenericGroupValue extends unknown, 
	GenericGroupName extends string
>(
	group: GenericGroupName,
	value: GenericGroupValue
): ArrayGroupFunctionOutput<GenericGroupName, GenericGroupValue>;

Paramètres

  • input : Le tableau à parcourir pour créer les groupes.
  • theFunction : Fonction appliquée à chaque élément. Elle retourne un objet { group, value } décrivant le nom du groupe cible et la valeur à ajouter.
  • params.index : L'index actuel dans le tableau d'entrée.
  • params.output : Raccourci pour construire un objet de sortie via groupOutput, ce qui garantit la cohérence du typage.

Valeur de retour

Un objet dont chaque propriété correspond à un groupe calculé. Chaque clé contient un tableau des valeurs produites pour ce groupe. Les clés absentes correspondent à des groupes jamais rencontrés.

Voir aussi

  • reduce - Agrège un tableau en une seule valeur
  • sum - Additionne toutes les valeurs d'un tableau

Sources

Diffusé sous licence MIT.