logo hsb.horse
← Voltar para o índice de snippets

Snippets

Utilitários de array em TypeScript

Coleção de funções utilitárias type-safe para operações comuns com arrays em TypeScript. Geração de array vazio, chunking, filtro de null e embaralhamento.

Publicado: Atualizado:

Funções utilitárias com segurança de tipos para operações de array usadas com frequência no desenvolvimento em TypeScript.

emptyArray: gerar array vazio com tamanho definido

Cria um array com comprimento específico para inicialização, placeholders ou dados de teste.

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

chunkArray: dividir array em blocos

Divide um array em blocos do tamanho especificado.

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),
);
}

Usa Array.from para gerar a quantidade necessária de blocos enquanto fatia o array original.

Exemplo de uso:

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: remover null e undefined com segurança de tipos

Remove null ou undefined de respostas de API, estreitando o tipo TypeScript de T | null para T.

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

unsafeShuffle: embaralhar array aleatoriamente

Embaralha o array com o algoritmo de Fisher-Yates. Note que esta é uma operação destrutiva que modifica o array original.

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;
}