Skip to content

Array

Fonctions pour manipuler les tableaux de manière immutable et type-safe. Toutes les fonctions préservent le tableau original et retournent une nouvelle valeur.

Comment faire les imports ?

La bibliothèque expose les namespaces DArray et A depuis l'entrée principale ou en import direct (tree-shaking friendly), ce qui permet de ne charger que ce dont vous avez besoin.

typescript
import { DArray, A } from "@duplojs/utils";
import * as DArray from "@duplojs/utils/array";
import * as A from "@duplojs/utils/array";

Création et conversion

from

Crée un tableau à partir d'un itérable ou d'un objet array-like.

toTuple

Convertit un tableau en tuple avec typage strict.

Accès aux éléments

at

Retourne l'élément à un index (supporte les index négatifs).

first

Retourne le premier élément du tableau.

last

Retourne le dernier élément du tableau.

length

Retourne la longueur du tableau.

lengthEqual

Vérifie qu'un tableau a une longueur exacte.

Recherche et test

includes

Vérifie si un tableau contient un élément.

notIncludes

Vérifie qu'un tableau ne contient pas une valeur donnée (type guard).

indexOf

Retourne l'index de la première occurrence d'un élément.

lastIndexOf

Retourne l'index de la dernière occurrence d'un élément.

isLastIndex

Indique si un index correspond au dernier élément du tableau.

find

Trouve le premier élément qui satisfait une condition.

findLast

Trouve le dernier élément qui satisfait une condition.

findIndex

Trouve l'index du premier élément qui satisfait une condition.

findLastIndex

Trouve l'index du dernier élément qui satisfait une condition.

every

Vérifie si tous les éléments satisfont une condition.

some

Vérifie si au moins un élément satisfait une condition.

is

Vérifie si une valeur est un tableau (type guard).

Transformation

map

Applique une fonction à chaque élément et retourne un nouveau tableau.

filter

Filtre les éléments selon une condition.

select

Filtre et transforme en une seule passe (avec inférence de la sortie).

slice

Extrait une portion du tableau sans le modifier.

flat

Aplatit un tableau imbriqué d'un niveau spécifié.

flatMap

Applique une fonction puis aplatit le résultat d'un niveau.

chunk

Découpe un tableau en blocs de taille fixe.

reverse

Inverse l'ordre des éléments du tableau.

sort

Trie les éléments du tableau.

Agrégation

reduce

Réduit le tableau à une seule valeur (de gauche à droite).

reduceRight

Réduit le tableau à une seule valeur (de droite à gauche).

join

Joint tous les éléments en une chaîne avec un séparateur.

group

Groupe les éléments selon une fonction de clé.

sum

Calcule la somme des éléments du tableau.

Min/Max

minOf

Retourne la valeur minimale selon une fonction de projection.

maxOf

Retourne la valeur maximale selon une fonction de projection.

minElements

Retourne le(s) élément(s) ayant la valeur minimale.

maxElements

Retourne le(s) élément(s) ayant la valeur maximale.

Modification

set

Modifie un élément à un index spécifique.

fill

Remplit une section du tableau avec une valeur.

fillAll

Remplit tout le tableau avec une valeur.

copyWithin

Copie une section du tableau vers un autre emplacement.

insert

Ajoute une valeur en fin de tableau (arguments inversés pour le currying).

Ajout et suppression

push

Ajoute un ou plusieurs éléments à la fin du tableau.

pop

Supprime et retourne le dernier élément.

unshift

Ajoute un ou plusieurs éléments au début du tableau.

shift

Supprime et retourne le premier élément.

concat

Concatène plusieurs tableaux ensemble.

spliceDelete

Supprime des éléments à partir d'un index.

spliceInsert

Insère des éléments à un index spécifique.

spliceReplace

Remplace des éléments à partir d'un index.

Recherche et modification

findAndReplace

Trouve un élément et le remplace par une nouvelle valeur.

findAndSpliceDelete

Trouve et supprime un élément.

findAndSpliceInsert

Trouve un élément et insère de nouveaux éléments.

findAndSpliceReplace

Trouve et remplace un élément via splice.

Utilitaires

coalescing

Retourne le premier élément non-null et non-undefined.

Diffusé sous licence MIT.