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

162
Vistas
¿Cómo crear una matriz 2d usando el bucle "for" en Javascript?

Necesito escribir un programa que cree una matriz 2d en "números" variables en filas (5) y columnas (4). Los elementos de la matriz deben ser enteros consecutivos que comiencen en 1 y terminen en 20. Tengo que usar el bucle "for".

 [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ], [ 9, 10, 11, 12 ], [ 13, 14, 15, 16 ], [ 17, 18, 19, 20 ],

Así que se me ocurrió eso:

 const numbers = []; const columns = 4; const rows = 5; for (let i = 0; i < rows; i++) { numbers [i] = []; for (let j = 0; j < columns; j++){ numbers [i][j] = j + 1; } } console.log(numbers);

Pero el resultado de esto son cinco filas idénticas, así:

 [ 1, 2, 3, 4 ], [ 1, 2, 3, 4 ], [ 1, 2, 3, 4 ], [ 1, 2, 3, 4 ], [ 1, 2, 3, 4 ]

¿Tienes alguna idea de cómo solucionarlo? ¿Cómo hacer una segunda fila a partir de 5?

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

0

Parece que en el segundo bucle, deberías hacer los numbers [i][j] = j * i; en cambio

about 4 years ago · Juan Pablo Isaza Denunciar

0

Cada vez que el bucle for externo comienza una nueva iteración, j se restablece a 0, por lo que sigues obteniendo filas que comienzan con 1.

Para solucionar esto, puede declarar una variable fuera de los bucles for que rastrea el número actual y usar eso en lugar de j así:

 const numbers = []; const columns = 4; const rows = 5; let currNum = 0; for (let i = 0; i < rows; i++) { numbers [i] = []; for (let j = 0; j < columns; j++){ currNum++; numbers [i][j] = currNum; } } console.log(numbers);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí hay un código actualizado. Debe agregar i*columns a cada valor

 const numbers = []; const columns = 4; const rows = 5; for (let i = 0; i < rows; i++) { numbers[i] = []; for (let j = 0; j < columns; j++){ numbers[i][j] = j + 1 + (i*columns); } } console.log(numbers);

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