Creé una matriz multidimensional como esta: let array = new Array(7).fill(Array(7).fill());
Luego traté de cambiar array[0][0] , así: array[0][0] = 1;
Pero de alguna manera, esto cambia el primer elemento de cada matriz interna. Esta es la salida que tengo:
Array(7) 0: (7) [1, undefined, undefined, undefined, undefined, undefined, undefined] 1: (7) [1, undefined, undefined, undefined, undefined, undefined, undefined] 2: (7) [1, undefined, undefined, undefined, undefined, undefined, undefined] 3: (7) [1, undefined, undefined, undefined, undefined, undefined, undefined] 4: (7) [1, undefined, undefined, undefined, undefined, undefined, undefined] 5: (7) [1, undefined, undefined, undefined, undefined, undefined, undefined] 6: (7) [1, undefined, undefined, undefined, undefined, undefined, undefined]No puedo imaginar lo que hice mal. ¿Algunas ideas?
const newArr = (a, b) => { return Array.from({length: a}, (_, i) => { return Array.from({length: b}, (_, j) => { return [i, j] }) }) } console.log(newArr(4, 3));Está utilizando la misma referencia de matriz al llenar con la matriz. En su lugar, use un .map() para llenar en su lugar.
const arr2D = Array(7).fill(0).map(()=> Array(7).fill(0));