Una Matriz (Array) es una variable que contiene a su vez más variables.
Por ejemplo:
Código :
var miMatriz:Array = new Array(); miMatriz = ["Elemento1", "Elemento2", "ElementoN"];
Si hacemos un trace(miMatriz); nos devuleve:
Código :
Elemento1, Elemento2, ElementoN
Y si hacemos un trace(miMatriz[0]); nos devuleve:
Código :
Elemento1
Esto es porque se empieza a contar el primer elemento desde el "0"(cero), es decir miMatriz tiene un length de 2, (0,1,2 que serian 3 elementos).
Ahora que sabemos que es una Matriz pasamos a ver Matriz Multidimensional.
Una Matriz Multidimensional es aquella que contiene Elementos "dentro" de los Elementos.
Por ejemplo:
Código :
myArray = [ [0,8,0,5,0,1,2,0], [1,0,2,0,0,2,2,1], [0,5,0,1,2,0,3,0], [5,2,1,0,3,0,1,5], [0,1,0,2,0,2,0,0], [2,0,3,0,1,5,1,5], [0,3,0,3,2,0,0,5], [3,0,0,5,0,1,0,0] ];
Si hacemos un trace(myArray); nos devuleve esto:
Código :
0,8,0,5,0,1,2,0,1,0,2,0,0,2,2,1,0,5,0,1,2,0,3,0,5,2,1,0,3,0,1,5,0,1,0,2,0,2,0,0,2,0,3,0,1,5,1,5,0,3,0,3,2,0,0,5,3,0,0,5,0,1,0,0
Que son todos los Elementos (en este caso números) de nuestra matriz.
Si queremos acceder al segundo elemento (el
Código :
trace(myArray[0][1]);
Escribimos "0" y "1" porque queremos acceder al segundo elemento("1", que es el
Suena complicado, pero no lo es tanto, sólo necesitas leerlo varias veces y ponerlo en práctica.
Ahora, para cargar todos lo elementos haremos esto:
Código :
for(var i:int = 0; i<myArray.length; i++)
{
for(var j:int = 0; j<myArray[i].length; j++)
{
trace(myArray[i][j]);
}
}
Son solo dos loops, el primero (i), se repite las veces de la cantidad de elementos de myArray (que en este caso son
Y el segundo las veces de la cantidad de elementos que tiene cada elemento de myArray[i] (que también son
El resultado del trace son los elementos del array.
¿Y para que hago todo esto si me va a dar lo mismo que trace(myArray)?
La diferencia es que los for() cargan cada elemento de uno por uno, con lo que podemos darles una acción a todos los elementos con pocas lineas.
¿Y para que me sirve una Matriz Multidimensional??
Pueden servir para variedad de cosas, algunos ejemplos son:
Posiciones, mapas y propiedades. En los Tile Based Games
Guardar datos. myArray = [["Juan", 18, "España"], ["Mario", 21, "Italia]]
En fin, solo hay que pensar para darles un buen uso y evitar hacer mucho código que pudiéramos evitar.
Como ejemplo les dejo un Editor de Mapas:

Por Vic el 10 de Julio de 2007
una cosa que me lleva de cabeza desde hace tiempo es...
¿ como creo Matriz Multidimensionales Dinamicamente?.
por que he probado varias formas y no me funciona como espero....
gracias.
Vic_blog :
Aquí tienes una clase de AS3 para hacerlo. El código lo puedes pasar fácilmente a AS2
Por Roly el 11 de Julio de 2007
si contruyo una matriz tal como esta en el ejemplo de arriba; entonces como haria para que se vea en el datagrid como el ejmplo cuando se asocie desde un dataprovider???????????????
Por Noyvern el 11 de Octubre de 2007
Por elarmoncru el 06 de Diciembre de 2007
no se si me explique. Algo de la forma:
$key=count_columns($array);
$value=count_rows($array);
Por Daniel06 el 18 de Diciembre de 2007
Por wil01 el 29 de Febrero de 2008
si quiero eliminar un elemento de un array[i] , i= posicion especifica, me sirve el metodo "pop"
y si quiero agregar un elemento de un array[i] , i= posicion especifica, me sirve el metodo "push"
por q no me sirve este code???
var arreglo1:Array= new Array();
var arreglo2:Array= new Array();
arreglo1[0]=mmc1;
arreglo1[1]=mmc2;
arreglo1[2]=mmc3;
arreglo1[3]=mmc4;
arreglo1[4]=mmc5;
arreglo1[5]=mmc6;
arreglo1[6]=mmc7;
arreglo1[7]=mmc8;
arreglo1[8]=mmc9;
arreglo1[9]=mmc10;
arreglo1[10]=mmc11;
arreglo1[11]=mmc12;
arreglo1[12]=mmc13;
arreglo1[13]=mmc14;
arreglo1[14]=mmc15;
arreglo1[15]=mmc16;
arreglo1[16]=mmc17;
arreglo1[17]=mmc18;
for(var i=0; i<=18;i++){
wil=random(1
ar=arreglo1[wil];
trace("ar"+ar);
arreglo2[i].push(ar);
trace("argl2"+arreglo2.length);
arreglo1[wil].pop(ar);
trace("argl1"+arreglo1.length);
}
gracias !
Por Jaime Castellar el 24 de Marzo de 2008
Por el 25 de Marzo de 2008
creo q nadie vio este post!
el problema segun creo yo es q los metodos para agregar o quitar lo hacen pero al final del arreglo,
pra hacer lo q intentaba , tube q hacerlo con split....
saludos
Por oriol el 13 de Enero de 2009
Mi lio con los arrays multidimensionales está a la hora de rellanarlos diamicamente desde un xml:
Tengo un listado de fotos en un xml con este esquema:
<foto id="nombrefoto" era="2" img="nombrefoto.jpg"></foto>
El parámetro básico és el de era (tengo seis eras) ya que quiero cargar el array de manera que vaya ordenando las fotos por era. O sea, que en el primer array del array multidimensional tenga las fotos de la era 1, en el segundo array, las fotos de la era 2 etc..
Cómo lo cargo y lo ordeno a la vez?
Gracias
Por NOCTIFER el 21 de Febrero de 2009
gracias
Por el omar el 18 de Noviembre de 2009
Por omar el 18 de Noviembre de 2009
Por omar el 18 de Noviembre de 2009
porfavor lo nesesito00
contesta aorita es un trabajo kelo estoi relizando en la eskull i lla lo ba ravisar en 10 min graxias di ke si carnal
Por angelitotomala el 21 de Agosto de 2010
Por javier el 10 de Enero de 2012
Quiero acceder al un elemento del primer objeto pero no sé.
me podeias ayudar?
Por PX10 el 22 de Marzo de 2012