Array.fill (Array) cria cópias por referências e não por valor [duplicado]
Esta pergunta já tem uma resposta aqui:
Array.prototype.fill () com objeto passa referência e não nova instância 5 respostasEstou tentando criar uma matriz de 6 por 12 usandoArray.fill
let m = Array(6).fill(Array(12).fill(0));
Enquanto isso funciona, o problema é que as matrizes internas estão na verdade todas fazendo referência à mesmaArray
objeto.
let m = Array(6).fill(Array(12).fill(0));
m[0][0] = 1;
console.log(m[1][0]); // Outputs 1 instead of 0
Eu queria (e esperava) o valor dem[1][0]
ser estar0
.
Como posso forçarArray.fill
preencha cópia por valores do argumento fornecido (por exemplo:Array(12).fill(0)
é o argumento no meu caso) em vez de copiar por referência?