Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

95
Vistas
Empujando una matriz a otra matriz

Soy nuevo en javascript y he estado haciendo algunos ejercicios, pero no puedo entender por qué este código funciona así,

 let newArray = []; let arr1 = []; for (let i = 0; i < 2; i++) { for (let j = 0; j < 2; j++) { arr1.push(0); //console.log('Arr1:',arr1); } newArray.push(arr1); //console.log('New Array:', newArray) } console.log(newArray);

Según yo, este bloque de código debería generar [[0,0][0,0,0,0]] pero el resultado real es [[0,0,0,0][0,0,0,0] ].

Intenté iniciar sesión en la consola después de cada iteración (eliminando los comentarios) y parece que no puedo encontrar dónde sale mal. Parece que todo va bien hasta el último registro. Agradecería tu ayuda.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Una forma de hacerlo es evitar usar la función push() y usar la función concat() en su lugar. Más sobre esto en la discusión existente.

Tendrías algo como:

 newArray = newArray.concat(arr)
about 4 years ago · Juan Pablo Isaza Denunciar

0

Debe utilizar la sintaxis Array#slice o spread para copiar la matriz en lugar de presionar la misma referencia varias veces, ya que los cambios posteriores seguirán reflejándose.

 let newArray = []; let arr1 = []; for (let i = 0; i < 2; i++) { for (let j = 0; j < 2; j++) { arr1.push(0); } newArray.push(arr1.slice()); } console.log(JSON.stringify(newArray));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda