Foros del Web » Programando para Internet » Javascript »

Consulta, Arrays

Estas en el tema de Consulta, Arrays en el foro de Javascript en Foros del Web. Tengo una función que recibe un objeto json: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original this . serie = function ( objs ) {   ...
  #1 (permalink)  
Antiguo 05/09/2012, 19:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Consulta, Arrays

Tengo una función que recibe un objeto json:



Código Javascript:
Ver original
  1. this.serie = function(objs) {
  2.        
  3.             var series = objs;
  4.  
  5.             var test = new Array();
  6.  
  7.             console.log(series.length);
  8.            
  9.             for(var a = 0; a < series.length; a++) {
  10.                
  11.                 //console.log(series[a].title);
  12.                 test[a] = series[a].title;
  13.  
  14.             }
  15.            
  16.             console.log(test);
  17.         };

AL hacer un console.log() de "series" obtengo esto: y una longitud de 3 para cada uno.

[Object

  • code: 0
  • title: "Discipline 1 Serie 0"
  • topic: Array[2]
  • __proto__: Object

, Object

  • code: 1
  • title: "Discipline 1 Serie 1"
  • topic: Array[2]
  • __proto__: Object

, Object

  • code: 2
  • title: "Discipline 1 Serie 2"
  • topic: Array[2]
  • __proto__: Object

]

length : 3

[Object

  • code: 0
  • title: "Discipline 2 Serie 0"
  • topic: Array[2]
  • __proto__: Object

, Object

  • code: 1
  • title: "Discipline 2 Serie 1"
  • topic: Array[2]
  • __proto__: Object

, Object

  • code: 2
  • title: "Discipline 2 Serie 2"
  • topic: Array[2]
  • __proto__: Object

]
length : 3

Lo que necesito es guardar en un array los titulos de las series:
El intento lo hago en test[a] = series[a].title;

y fuera del bucle console.log(test) me da lo siguiente:

["Discipline 1 Serie 0", "Discipline 1 Serie 1", "Discipline 1 Serie 2"]
length: 3 json.js:57
["Discipline 2 Serie 0", "Discipline 2 Serie 1", "Discipline 2 Serie 2"]length: 3json.js:70




Esto es correcto, aunque necesito que este todo dentro de un solo array.

¿Cual sería la manera correcta de recorrer el objeto y hacer esto que planteo?
__________________
_

Última edición por opzina; 05/09/2012 a las 19:22
  #2 (permalink)  
Antiguo 05/09/2012, 19:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Consulta, Arrays

buenas,
el planteamiento parece correcto. al menos yo no le veo nada mal. en todo caso, asumo que el ejemplo de log son dos objetos en circunstancias distintas. ¿lo que tu quieras hacer es rellenar el mismo array?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 05/09/2012, 19:51
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: Consulta, Arrays

Cita:
el planteamiento parece correcto. al menos yo no le veo nada mal. en todo caso, asumo que el ejemplo de log son dos objetos en circunstancias distintas. ¿lo que tu quieras hacer es rellenar el mismo array?
Gracias por responder.

Claro, quiero rellenar el mismo array.

Mi idea es tener a mano ese array para poder usarlo en una funcion "output" donde ahí voy a poder imprimir los resultados en pantalla o cargar cda titulo en una lista desordenada, por ejemplo.
__________________
_
  #4 (permalink)  
Antiguo 05/09/2012, 20:53
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Consulta, Arrays

en ese caso, el array no puede declararse dentro de la función porque en cada invocación se inicializa la variable. la variable tienes que crearla en otro contexto que sea alcanzable para la función. o bien puedes hacer una propiedad del objeto, ya que veo que la función pertenece a un objeto.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 05/09/2012, 21:16
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: Consulta, Arrays

En su momento usé una variable global de tipo array y a esta la rellenaba con los titulos pero solo contenia una sola serie de titulos.


["Discipline 1 Serie 0", "Discipline 1 Serie 1", "Discipline 1 Serie 2"]

["Discipline 2 Serie 0", "Discipline 2 Serie 1", "Discipline 2 Serie 2"]

De estos dos, solo estaba presente el 2do. Por eso mi inquietud de unir ambos arrays.
__________________
_
  #6 (permalink)  
Antiguo 05/09/2012, 21:20
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Consulta, Arrays

si, porque fíjate lo que estás haciendo al momento de agregar al array. estás agregando los valores en índices definidos. es decir, la primera vez agregas una cantidad, no hay problema. pero la segunda vez, comienzas nuevamente desde el índice 0, lo cual sobre escribe posibles valores presentes. en lugar de indicar el array deberías usar el método push para agregar los elementos siempre al final del array.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: arrays, js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.