Comunidad de diseño web y desarrollo en internet online

array u objeto?

Citar            
MensajeEscrito el 08 Abr 2011 10:18 am
Hola buenas esta duda simplemente es por cuestion de optimizar, o comodidad. Os comento, cuando creo un array multidimensional el problema que tengo con actionscript es que tengo que saber en que posición tengo cada parámetro, por ejemplo

array[0][0] //nombre en español
array[0][1] //nombre en ingles
...

y para crearlo por ejemplo de una lectura de xml haría de la siguiente manera:

Código ActionScript :

array = new Array();
for (a = 0; a < obj_xml.firstChild.childNodes.length; a++){
   obj = obj_xml.firstChild.childNodes[a];
   arrTemp = new Array();
   for (b = 0; b < obj.childNodes.length; b++){
      arrTemp.push (obj.childNodes[b].attributes.nombre_es);
      arrTemp.push (obj.childNodes[b].attributes.nombre_en);
      arrTemp.push (obj.childNodes[b].attributes.nombre_ru);
   }
array.push (arrTemp);         


Ahora la cuestión, no sería mas comodo en el primer array agregarle un objeto de la siguiente manera?

Código ActionScript :

array = new Array();
for (a = 0; a < obj_xml.firstChild.childNodes.length; a++){
   obj = obj_xml.firstChild.childNodes[a];
   arrTemp = new Array();
   for (b = 0; b < obj.childNodes.length; b++){
      arrTemp.push (obj.childNodes[b].attributes.nombre_es);
      arrTemp.push (obj.childNodes[b].attributes.nombre_en);
      arrTemp.push (obj.childNodes[b].attributes.nombre_ru);
   }
objTemp = {nombre_es:arrTemp[0], nombre_en:arrTemp[1], nombre_ru:arrTemp[2]};
array.push (objTemp );         


De esa manera podríamos consultar el array:

array[0].nombre_es
array[0].nombre_en
...

¿Que opinais? ¿alguna manera de hacerlo mejor, totalmente diferente?

Un saludo

Por n0ldor

55 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Abr 2011 10:44 am
Perdón que me confundí en el segundo ejemplo:

Código ActionScript :

array = new Array();  
for (a = 0; a < obj_xml.firstChild.childNodes.length; a++){  
   obj = obj_xml.firstChild.childNodes[a];  
   arrTemp = new Array();  
   for (b = 0; b < obj.childNodes.length; b++){  
     arrTempB = new Array(); 
     arrTempB.push (obj.childNodes[b].attributes.nombre_es); 
     arrTempB.push (obj.childNodes[b].attributes.nombre_en); 
     arrTempB.push (obj.childNodes[b].attributes.nombre_ru); 
     arrTempB.push (obj.childNodes[b].attributes.ruta); 
     arrTemp.push(objTemp = {nombre_es:arrTempB[0], nombre_en:arrTempB[1], nombre_ru:arrTempB[2], ruta:arrTempB[3]}); 
   }  
array.push (arrTemp); 

Por n0ldor

55 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.