Comunidad de diseño web y desarrollo en internet online

funcion que pasa como parametro un campo de un Array ¿cómo?

Citar            
MensajeEscrito el 20 Mar 2006 05:33 pm
Bueno mi duda es a cerca de crear una funcion que recoge los valores de un Array (losProyectos)
y luego los va dividiendo en 4 array´s (1 por cada columna de texto).

Ahora mismo tengo el codigo repetido por cada ordenación que quiero, el problema creo q me viene cuando quiero referirme al campo del array, pues paso el parametro con el nombre "campodelArray" pero no consigo referirme a el. lo que quiero es algo asi:

Código :

function createColumns(campodelArray){
var Col1:Array = new Array();
      for(l1=0; l1<20; l1++){
         if(losProyectos[l1].cliente != undefined){//<---sustituir campo cliente por el parametro pasado ej, col2
         Col1[l1]= "<a href='asfunction:_root.showProject,"+losProyectos[l1].id+"'>"+losProyectos[l1].cliente+"</a>";
         
         }
      }
      c1.htmlText = Col1.join('\n');
      //--------------------------------------
      var Col2:Array = new Array();
      for(l2=0; l2<20; l2++){
         if(losProyectos[l2+20].campodelArray != undefined){//<---Algo asi se puede hacer?
            Col2[l2]= "<a href='asfunction:_root.showProject,"+losProyectos[l2+20].id+"'>"+losProyectos[l2+20].cliente+"</a>";
         }         
      }
      c2.htmlText = Col2.join('\n');
      //----------------------------------------
      var Col3:Array = new Array();
      for(l3=0; l3<20; l3++){
         if(losProyectos[l3+40].cliente != undefined){
            Col3[l3]= "<a href='asfunction:_root.showProject,"+losProyectos[l3+40].id+"'>"+losProyectos[l3+40].cliente+"</a>";
         }
      }
      c3.htmlText = Col3.join('\n');
      //---------------------------------------------
      var Col4:Array = new Array();
      for(l4=0; l4<20; l4++){
         if(losProyectos[l4+60].cliente != undefined){
            Col4[l4]= "<a href='asfunction:_root.showProject,"+losProyectos[l4+60].id+"'>"+losProyectos[l4+60].cliente+"</a>";
         }
      }
      c4.htmlText = Col4.join('\n');


Os conozco bien, no me hagais pingPong, ni hagais de mi un momento clab xPPPP
saludos a todos y gracias por este pedazo de site.

Pd: El codigo entero es muu largo, churros que me salen, espero que se entienda.
he probado con this[campodelArray] pero nada :_

Por theblabla

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Mar 2006 06:11 pm
for(var i:Number = 1;i<=4;i++) {

var this["Col"+i]:Array = new Array(); <--- este no sé si te permitirá hacerlo, si no quita el "var" y el ":Array" y listo
for(var j:Number = 0; j<20; j++){
if(losProyectos[j+60].cliente != undefined){
this["Col"+i][j]= "<a href='asfunction:_root.showProject,"+losProyectos[j+60].id+"'>"+losProyectos[j+60].cliente+"</a>";
}
}
this["c"+j].htmlText = this["Col"+j].join('\n');

};

NOTA : Si no te funcionase con this["etcETC+contador] prueba poniendo la ruta buena (_root

theblabla escribió:

. etc etc
NOTA² : Si no hubiera sido por [quote="theblabla"]Os conozco bien, no me hagais pingPong, ni hagais de mi un momento clab xPPPP
saludos a todos y gracias por este pedazo de site.
No hubiera respondido... eso sí, no lo vuelvas a hacer que no responderé más. xD

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 20 Mar 2006 10:32 pm
al final lo tengo asi muchas gracias Iceman, tengo q aprender a depurar mis codigos :S

Código :

//--una de las funciones
function sortonGLA(){
   losProyectos.sortOn("GLA", Array.NUMERIC);   
   count = 0;
   Aname = new Array();
   for(var i:Number = 1;i<=4;i++) {         
      Aname[i] = this["Col"+i];
      Aname[i] = new Array(); 
      for(var j:Number = 0; j<20; j++){            
         if(losProyectos[j+count].GLA != undefined){
            Aname[i][j] = "<a href='asfunction:_root.showProject,"+losProyectos[j+count].id+"'>"+losProyectos[j+count].GLA+"</a>";
         }
      }      
      setTestFmt();//----tirando de otra funcion pa meter el txt y el formato 
   count += 20;
   }         
}


Bueno me temo q sere una victima mas... :cry:
los campos de texto estan definidos en la misma funcion (dinamicos) y no he sido capaz de referirme a ellos, ni con this[], ni con _root[] (asi tara bien? pkt de mi que no lo saco) ni haciendo referencia al clip donde estan. Consigo hacer un trace que me devuelve todo bien: _level0.containerList.col_0 pero no hay manera.
solo a pelo con una funcion externa, q bueno no queda mal del todo

Código :

function setTestFmt(){
   for(p=1; p<5; p++){      
      ruta1 = this["c"+p];
      ruta1.htmlText = Aname[p].join('\n');   
       ruta1.setTextFormat(avant2_fmt);
   }
}


saludos & de nuevo muchas grasias

Por theblabla

10 de clabLevel



 

firefox

 

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