Array o Matriz bidimensional en Javascript
Bienvenidos a VerTutoriales.com, despues de empezar con las funciones de pintado en html5 para nuestro tilador, vamos a atacar otra parte que sería el guardado tanto del mapa como de los objetos con los que podrá interactuar el jugador, para ello tendremos que utilizar arrays o matrices.
Como estamos utilizando para esta parte JavaScript, veamos como declarar primero una matriz o array sencillo, en otras palabras, una lista, veamos el código:
var matriz=new Array(3);
matriz[0] = «hola»;
document.write(matriz[0]);
Este código creará una matriz de una dimensión o lista con 3 elementos, le asignaremos a la primera posición (empieza desde 0) el valor «hola» y a continuación lo escribimos por pantalla con document.write y seleccionando el valor del array 0.
Pero vamos a ver como se crean valores multidimensionales, es algo más rebuscado que con otros lenguajes, pero veremos que no es complicado, el código:
<script language=»JavaScript»>
var matriz=new Array(3);
for (i = 0; i < 3; i++){
matriz[i]=new Array(3);
}for (i=0; i<3; i++)
{
for (e=0; e<3; e++)
{
matriz[i][e] = «posición » + i + «,» + e;
}
}for (i=0; i<3; i++)
{
for (e=0; e<3; e++)
{
document.write(«<br />»);
document.write(matriz[i][e]);
}
}</script>
Quizás lo más extraño es la declaración:
for (i = 0; i < 3; i++){
matriz[i]=new Array(3);
}
Lo que estamos haciendo en la declaración es declarar un segundo array dentro de un elemento de si mismo, es decir, una lista de 3 elementos es incluida dentro de un elemento de los tres de la siguiente lista, anidamos y en sacamos 3 x 3, lo demás no tiene más dificultad, la escritura y lectura son del tipo matriz[x][y].
Si teneis alguna duda exponerla y aprendemos 🙂
Estoy montando la matriz como comentas y no me parece complejo, aunque es verdad que me parece curiosa la manera de declarar matrices javascript de forma anidada o como quieras llamarla.
En mi caso el array lo utilizo para guardar posiciones en un panel de control.
Gracias por este artículo sencillo de matrices en javascript 🙂