Aunque sé con qué resultados termina, es realmente una trampa, un poco anti-intuición de la comprensión normal de cómo funciona esta API de matriz.
Echa un vistazo: Caso 1
const x = new Array(2).fill([]); x[0].push("item 1") x[1].push("item 2")intención: iniciar una matriz con dos sub-matrices vacías e insertar dos elementos diferentes en cada una.
expectativa: x=[["elemento 1"], ["elemento 2"]]
realidad: x=[["elemento 1", "elemento 2"], ["elemento 1", "elemento 2"]]
parece que la función "rellenar" toma el mismo objeto de "[]", conectado, ¿no es así?
Caso 2
const x = new Array(3).map( (_, i) => `col_${i}`, );intención: crear una matriz de longitud dada con el valor predeterminado de "col_[index]" para cada elemento.
expectativa: x=["col_0", "col_1", "col_2"]
realidad: x=[nulo, nulo, nulo]
Entonces parece que "new Array ()" solo tiene una propiedad de longitud, pero en realidad no se puede iterar sobre ella.
Preguntas: