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

178
Vistas
¿Cómo insertar una X en una ubicación específica en una matriz donde un usuario lo quiere?

Estoy tratando de hacer algo como esto: OOOOOOOOOO \n OOOOOOOOOO \n OOOOOOOOOO \n OOOOOOOOOO \n OOOOOOOOOO \n OOOOOOOOOO \n OOOOOOOOOO \n OOOOOOOOOO \n OOOOOOOOOO \n OOOOOOOOOO \n donde un usuario ingresaría una determinada fila de la matriz , y una determinada columna, y se puede colocar una X allí en lugar del cero. He intentado usar una tabla de interruptores, pero no puedo pensar en una forma más eficiente. Aquí está el código que tengo hasta ahora.

 var allRows2 = ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]; var allRows3 = ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]; var allRows4 = ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]; var allRows5 = ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]; var allRows6 = ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]; var allRows7 = ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]; var allRows8 = ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]; var allRows9 = ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]; var allRows10 = ["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]; var userinr = prompt("Which row would you like to put the X in?"); var userinc = prompt("Which column would you like to put your piece in?"); switch(userin) { case "1": var therow = 1; break; case "2": var therow = 2; break; case "3": var therow = 3; break; case "4": var therow = 4; break; case "5": var therow = 5; break; case "6": var therow = 6; break; case "7": var therow = 7; break; } ``` I am unsure how to continue, any help would be appreciated:)
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En lugar de almacenar cada fila en una variable individual, almacene todas las filas en matrices anidadas. Luego haga referencia al elemento y la posición con la notación de paréntesis:

 var allRows = [["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]]; const row = 2; const position = 5; allRows[row][position] = "X" console.log(JSON.stringify(allRows))

Si desea imprimir la matriz sin comas, puede usar Array.join y establecer el delimitador en una cadena vacía:

 var allRows = [["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"],["O", "O", "O", "O", "O", "O", "O", "O", "O", "O"]]; const row = 2; const position = 5; allRows[row][position] = "X" for(const row of allRows){ console.log(row.join('')) }

about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí está mi ejemplo. Los comentarios deberían hacer que sea más fácil de entender.

 // easiest way to make a grid. // Array(n), makes an empty array with a length of n. // Array.fill(v) changes all the array items to be v. // Array.map(function) makes a new array from what is returned from the callback function. const grid = Array(10) .fill([]) .map(() => Array(10).fill("o")); // Multidimentional arrays work in reverse. y then x. // grid[y][x] grid[5][3] = "x"; console.log("Example 1") grid.forEach(row => console.log(row.join(""))) // you can make a helper function to make it more intuitive. function change([x, y], value){ grid[y][x] = value; } // Now we can use the coordinates normally. console.log("\nExample 2") change([0, 5], "v") grid.forEach(row => console.log(row.join("")))

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