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

121
Vistas
¿Cómo crear una matriz 2d con solo dos elementos y aleatorizarla?

Creé una matriz 2d donde subArrays incluyen solo 0 y 1 generados a través de la función Math.random() . Actualmente está implementado con for loops .
Ahora estoy tratando de obtener el mismo resultado usando las funciones es6 , pero no pude resolverlo.

Aquí está la solución con bucles for

 const rows = 25; const cols = 35; const randomGrid = () => { const grid = []; for (let i = 0; i < rows; i++) { const row = []; for (let j = 0; j < cols; j++) { row.push(Math.floor(Math.random() * 2)); } grid.push(row); } return grid; }; console.log(randomGrid())

Y aquí estoy tratando de lograr el mismo resultado con funciones js modernas. Logré solo dos crear el 2d Array , pero no pude completar con 0 y 1 en orden aleatorio. Actualmente los elementos no están undefined .

 const rows = 25; const cols = 35; const randomTwoDArr = (numOfRows, numOfCols) => { const grid = []; return Array(numOfRows) .fill() .map((row) => Array(numOfCols)); }; console.log(randomTwoDArr(rows, cols));

Cualquier ayuda será apreciada.

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

0

Puede hacer esto usando Array.from como:

 const rows = 25; const cols = 35; const randomGrid = () => { return Array.from({ length: rows }, () => { return Array.from({ length: cols }, () => Math.floor(Math.random() * 2)); }); }; console.log(randomGrid());

about 4 years ago · Juan Pablo Isaza Denunciar

0

Está en el camino correcto, simplemente complete la creación de columnas con Array(numOfCols).fill() y rellénelo con números aleatorios 1 o 0 .map(x=>Math.floor(Math.random() * 2))

 const rows = 25; const cols = 35; const randomTwoDArr = (numOfRows, numOfCols) => { const grid = []; return Array(numOfRows) .fill() .map((row) => Array(numOfCols).fill().map(x=>Math.floor(Math.random() * 2))); }; console.log(randomTwoDArr(rows, cols));

about 4 years ago · Juan Pablo Isaza Denunciar

0

puedes usar Array.from

 const rows = 25; const cols = 35; const randomTwoDArr = (numOfRows, numOfCols) => { const grid = []; return Array.from({length:numOfRows}, _ => Array.from({length:numOfCols }, () => Math.random() > 0.5 ? 1: 0)) }; console.log(randomTwoDArr(rows, cols));

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