ExpertiDict

JavaScript · Avançado · Português · Técnico

array esparso

/aˈhej isˈpaɾsu/substantivo

Array com buracos: posições sem valor, que não existem de fato, diferentes de posições com undefined. Surgem com delete, com atribuição além do tamanho ou com new Array(n).

Onde usar

Aparece em bugs onde map, forEach e filter pulam elementos sem avisar. Em code review, new Array(5).map(...) não executa nada, e o conserto é usar Array.from ou fill.

Em código

const a = new Array(3);
console.log(0 in a); // false
console.log(a.map(() => 1));
// [ <3 empty items> ]
console.log(Array.from(a, () => 1));
// [ 1, 1, 1 ]

Exemplos

O map pulou tudo porque era um array esparso criado com new Array.

Use Array.from ou fill para evitar os buracos.

Cuidado

Esperar que new Array(3).map(...) rode três vezes, quando os buracos são ignorados.

Sinônimos

sparse array

Antônimos

array denso

Veja também

Todos os termos de JavaScript