JavaScript · Avançado · Português · Técnico
array esparso
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