logo hsb.horse
← Retour à l’index des snippets

Snippets

Utilitaires de tableau TypeScript

Collection de fonctions utilitaires type-safe pour les opérations courantes sur les tableaux en TypeScript. Création de tableaux vides, chunking, filtrage null et mélange.

Publié: Mis à jour:

Fonctions utilitaires type-safe pour les opérations sur les tableaux utilisées fréquemment en TypeScript.

emptyArray : générer un tableau vide d’une taille donnée

Crée un tableau d’une longueur précise pour l’initialisation, les placeholders ou les données factices.

function emptyArray(size: number): Array<undefined> {
return Array(size).fill(undefined);
}

chunkArray : découper un tableau en chunks

Découpe un tableau en blocs de la taille indiquée.

function chunkArray<T>(array: T[], size: number): T[][] {
if (size <= 0) return [];
return Array.from({ length: Math.ceil(array.length / size) }, (_, i) =>
array.slice(i * size, (i + 1) * size),
);
}

Array.from permet de générer le nombre de chunks nécessaire tout en découpant le tableau d’origine.

Exemple d’utilisation :

const numbers = [1, 2, 3, 4, 5, 6, 7];
const chunks = chunkArray(numbers, 3);
console.log(chunks);
// Result: [[1, 2, 3], [4, 5, 6], [7]]

filterNonNull : supprimer null et undefined de façon type-safe

Supprime null ou undefined dans des réponses d’API tout en affinant le type TypeScript de T | null vers T.

function filterNonNull<T>(array: Array<(T | null | undefined)>): Array<T> {
return array.filter((v): v is T => v != null);
}

unsafeShuffle : mélanger un tableau aléatoirement

Mélange un tableau avec l’algorithme de Fisher-Yates. Attention, l’opération modifie directement le tableau d’origine.

function unsafeShuffle<T>(array: T[]): T[] {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}