Comunidad de diseño web y desarrollo en internet online

Sacar elementos de un objeto

Citar            
MensajeEscrito el 18 Feb 2008 03:07 pm
Hola
Cuando me llega un objeto X, cuya composicion es deconocida para mi, como puedo sacarle los "keys" al objeto.
Ej:
Me viene un objeto con los siguientes pares.

paramA = 2
paramB = 4
paramC = 6

Pero lo que necesito saber son los valores de las keys (paramA, paramB, etc.), no los valores..!

salu2 ^^

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 18 Feb 2008 04:01 pm
has visto la ayuda del for ... in?

Código :

var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"}; 
for (var prop in myObject) { 
    trace("myObject."+prop+" = "+myObject[prop]); 
} 
/* output:
myObject.firstName = Tara 
myObject.age = 27 
myObject.city = San Francisco
*/

la variable prop es la que guarda la key ;)

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

firefox
Citar            
MensajeEscrito el 18 Feb 2008 05:51 pm
gracias master_of_puppetz, es que andaba por for each que es diferente ..!!!!
salu2

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 20 Ago 2009 07:39 pm
Hola, tengo una duda con respecto a esto y es la siguiente:
El codigo escrito mas arriba funciona para objetos normales, pero si yo por ejemplo quiero usarlos para mirar lo que hay dentro de un objeto que me llega en una funcion de un evento?

no se si me explico bien, pero lo colocare en codigo a ver si se entiende

Código :

function onComplete(evt:Event){
   for (var i in evt.target)
   {
      trace("." + i + " = " + evt.target["i"])
   }
}



lo he probado muchas veces y lo he depurado y la i no toma ningún valor.

P.D.: Por cierto, en el ejemplo me llega un URLLoader y lo que me gustaria que me enseñara son los nombres de los atributos que tiene (ej. data, etc)

Espero que me ayuden
Gracias :D

Por jaozze

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Ago 2009 08:34 pm
mmm, el evt.target va a ser el URLLoader como tal, si quieres ver lo que trae la data, tendrías que hacer algo así:

Código ActionScript :

function onComplete(evt:Event){
    var ul:URLLoader = URLLoader(evt.currentTarget);
    for (var i:String in ul.data)
    {
       trace("." + i + " = " + ul.data["i"])
    }
}

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

safari
Citar            
MensajeEscrito el 21 Ago 2009 01:31 pm
Hola, muchas gracias por responder!. He probado la solución que me has puesto arriba y me sigue sin funcionar. Aparte de ver lo que trae la data, lo que realmente me gustaría ver, es el listado de los nombres de los atributos que trae el URLLoader al ser devuelto a la funcion del evento. A mi con AS2 esto me funcionaba a la perfección, y con este metodo podia listar los atributos de cualquier objeto (de los que he necesitado), pero en AS3 me encuentro que no funciona. Lo unico que quiero es por ejemplo listar los atributos (y sus nombres) de un objeto movieClip o en este caso de un URLloader

Código ActionScript :

function onComplete(evt:Event){
     for (var i:String in evt.target)
        {
           trace("." + i + " = " + evt.currentTarget["i"])
        }
}


donde evt es un URLLoader

P.D.: Al probar la solución que me has dado, no me ha salido nada, y al depurar, la i no me toma ningun valor en ningun momento. es como si el URLLoader notuvierna nada, pero me he asegurado de que llegue todo lo que cargo (un XML) y lo he cargado en un componente Tree. Repito, esto tambien me pasa al querer listar los atributos de un objeto movieClip por ejemplo.

Código ActionScript :

var mc:MovieClip = new MovieClip()
for (var i:String in mc1)
   {
      trace (i)
   }


Espero haberlo explicado bien, que al ser algo tan rebuscado cuesta explicarlo.

Gracias por tu ayuda genio! :D

Por jaozze

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Ago 2009 02:19 pm
para saber que atributos tiene una clase (por que tanto URLLoader como MovieClip son clases), necesitas de una función que se llama describeType, esta te genera un XML con toda la info de la clase

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

safari
Citar            
MensajeEscrito el 21 Ago 2009 05:40 pm
Supongo que esa funcion lo que me dara es la información de la clase, pero yo lo que busco es listar las "propiedades" (supongo que fue este termino el que cambie por atributos) del objeto ya instanciado de las clases comentadas

Por jaozze

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Ago 2009 05:58 pm

jaozze escribió:

Supongo que esa funcion lo que me dara es la información de la clase, pero yo lo que busco es listar las "propiedades" (supongo que fue este termino el que cambie por atributos) del objeto ya instanciado de las clases comentadas

dentro de la información, vienen las propiedades de la clase, obteniendo la propiedad, después puedes obtener el valor

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

safari
Citar            
MensajeEscrito el 21 Ago 2009 07:20 pm
Muchas gracias por tu ayuda! ^^

Por jaozze

4 de clabLevel



 

firefox

 

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