Foros del Web » Programando para Internet » Javascript »

Como llenar un Array de forma dinámica?

Estas en el tema de Como llenar un Array de forma dinámica? en el foro de Javascript en Foros del Web. Les comento; tengo un array de esta forma: Código: var data = { '1.jpg': { caption: 'Volcano Asención in Ometepe, Nicaragua.' }, '2.jpg': { caption: ...
  #1 (permalink)  
Antiguo 14/05/2009, 11:20
Avatar de DevCH  
Fecha de Ingreso: marzo-2003
Ubicación: Villahermosa, Tabasco, Mé
Mensajes: 60
Antigüedad: 21 años, 1 mes
Puntos: 0
Información Como llenar un Array de forma dinámica?

Les comento; tengo un array de esta forma:

Código:
var data = {
             '1.jpg': { caption: 'Volcano Asención in Ometepe,
Nicaragua.' },
             '2.jpg': { caption: 'A Ceibu tree.' },
             '3.jpg': { caption: 'The view from Volcano Maderas.' },
             '4.jpg': { caption: 'Beer and ice cream.' },
             '5.jpg': { caption: 'Volcano Asención in Ometepe,
Nicaragua.' },
             '6.jpg': { caption: 'A Ceibu tree.' },
             '7.jpg': { caption: 'The view from Volcano Maderas.' },
             '8.jpg': { caption: 'Beer and ice cream. Esto está muy bien, es
una buena herramienta, que espero les guste a todos, Aquí se las dejo,
disfrutenla.' }
           };
lo que quiero hacer, es llenar ese array de manera dinámica con unos
datos que vendrán desde un archivo XML, pero no se como hacerle para
llenarlo de manera dinámica...

Les agradezco cualquier ayuda que me puedan brindar. Desde ya, muchas
gracias.

Saludos.
__________________
Carlos Hidalgo
[email protected]
Villahermosa, Tabasco, México.

"Locura es: Obtener siempre el mismo resultado, y seguir insistendo con lo mismo, esperando que algún día, algo nuevo suceda."

--Albert Einstein--

:si:
  #2 (permalink)  
Antiguo 14/05/2009, 11:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como llenar un Array de forma dinámica?

Más que un array, eso es un objeto. Puedes asignarle la propiedad que desees:
Código javascript:
Ver original
  1. data.propiedad = "valor";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 15/05/2009, 16:30
Avatar de DevCH  
Fecha de Ingreso: marzo-2003
Ubicación: Villahermosa, Tabasco, Mé
Mensajes: 60
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Como llenar un Array de forma dinámica?

Pues si compa, eso creo entenderlo, pero no me he topado con este tipo de objetos y nose como crearlo, no es del tipo
Código:
object.property = x
y ya, para mi si tiene chiste como armar el objeto, por que lo ejemplo, colocar "1.jpg" no se me hace complicado cuando se asigne a una propiedad, pero en este caso no se cual es el nombre de la propiedad, a diferencia de "caption" que si lo se y que es evidente que se trata de otro objeto.

En ese sentido va mi peticiòn de ayuda, tener una pequeña luz que me ilumine el camino con un ejemplo...

Saludos.
__________________
Carlos Hidalgo
[email protected]
Villahermosa, Tabasco, México.

"Locura es: Obtener siempre el mismo resultado, y seguir insistendo con lo mismo, esperando que algún día, algo nuevo suceda."

--Albert Einstein--

:si:
  #4 (permalink)  
Antiguo 15/05/2009, 16:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Como llenar un Array de forma dinámica?

No entendí muy bien tu pregunta, ¿podrías poner un ejemplo de lo que quieres hacer?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 15/05/2009, 22:16
Avatar de DevCH  
Fecha de Ingreso: marzo-2003
Ubicación: Villahermosa, Tabasco, Mé
Mensajes: 60
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Como llenar un Array de forma dinámica?

lo que quiero hacer es lo siguiente:

Código:
var data = {
             '1.jpg': { caption: 'Volcano Asención in Ometepe,
Nicaragua.' },
             '2.jpg': { caption: 'A Ceibu tree.' },
             '3.jpg': { caption: 'The view from Volcano Maderas.' },
             '4.jpg': { caption: 'Beer and ice cream.' },
             '5.jpg': { caption: 'Volcano Asención in Ometepe,
Nicaragua.' },
             '6.jpg': { caption: 'A Ceibu tree.' },
             '7.jpg': { caption: 'The view from Volcano Maderas.' },
             '8.jpg': { caption: 'Beer and ice cream. Esto está muy bien, es
una buena herramienta, que espero les guste a todos, Aquí se las dejo,
disfrutenla.' }
           };
del siguiente codigo, lo que quiero hacer es esto

var data = {}

data.push('1.jpg': { caption: 'Texto 1.' });
data.push('2.jpg': { caption: 'Texto 2' });

Al hacerlo con un for me quedarìa asì mas o menos

var x = [];
var y = [];

Código:
var data = {}

data.push(x[0]: { caption: y[0] });
data.push(x[1]: { caption: y[1] });
es como si fuera una colecciòn de arrays

espero haberme dado a entender...

saludos
__________________
Carlos Hidalgo
[email protected]
Villahermosa, Tabasco, México.

"Locura es: Obtener siempre el mismo resultado, y seguir insistendo con lo mismo, esperando que algún día, algo nuevo suceda."

--Albert Einstein--

:si:
  #6 (permalink)  
Antiguo 15/05/2009, 23:03
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: Como llenar un Array de forma dinámica?

el problema es que push es un metodo para array. no te seria lo mismo si en lugar de data ser un objeto fuera un array?

Cita:
colocar "1.jpg" no se me hace complicado cuando se asigne a una propiedad, pero en este caso no se cual es el nombre de la propiedad,
aun sigo sin entender un poco tu duda. de momento pienso lo que intentas hacer es una nueva propiedad para los string '1.jpg', '2.jpg', etc. podrias crearla en el mismo objeto donde reside caption y hacer de data un array. el nombre de la propiedad se la puedes asignar tu, en el siguiente ejemplo se llama url.
Código:
data = [];
data.push({url: x[0], caption: y[0]});
data.push({url: x[1], caption: y[1]});
// asumiendo que x contiene los string '#.jpg';
// e y contiene la descripcion;
  #7 (permalink)  
Antiguo 16/05/2009, 21:55
Avatar de DevCH  
Fecha de Ingreso: marzo-2003
Ubicación: Villahermosa, Tabasco, Mé
Mensajes: 60
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Como llenar un Array de forma dinámica?

Entonces, como puedo hacer lo que digo:

Código:
var data = {
	      '1.jpg': { caption: 'Juanxio, Juanxio Dos Tree.'}, 
	      '2.jpg': { caption: 'Tocayazo Santarelli.' }, 
	      '3.jpg': { caption: 'The view from Volcano Maderas.' }, 
	      '4.jpg': { caption: 'Beer and ice cream.' },
	      '5.jpg': { caption: 'Volcano Asención in Ometepe, Nicaragua.' }, 
	      '6.jpg': { caption: 'A Ceibu tree.' }, 
	      '7.jpg': { caption: 'The view from Volcano Maderas.' }, 
	      '8.jpg': { caption: 'Beer and ice cream. Esto está muy bien, es una buena herramienta, que espero les guste a todos, Aquí se las dejo, disfrutenla.' }
	    };
de la forma que dices, porque lo intenté y no jaló
__________________
Carlos Hidalgo
[email protected]
Villahermosa, Tabasco, México.

"Locura es: Obtener siempre el mismo resultado, y seguir insistendo con lo mismo, esperando que algún día, algo nuevo suceda."

--Albert Einstein--

:si:
  #8 (permalink)  
Antiguo 16/05/2009, 22:22
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: Como llenar un Array de forma dinámica?

con toda honestidad y mi disculpa, no comprendo tu dilema. es algo asi lo que queras hacer?
Código:
var data = [
{url:'1.jpg', caption: 'Juanxio, Juanxio Dos Tree.'}, 
{url:'2.jpg', caption: 'Tocayazo Santarelli.' }, 
{url:'3.jpg', caption: 'The view from Volcano Maderas.' }, 
{url:'4.jpg', caption: 'Beer and ice cream.' },
{url:'5.jpg', caption: 'Volcano Asención in Ometepe, Nicaragua.' }, 
{url:'6.jpg', caption: 'A Ceibu tree.' }, 
{url:'7.jpg', caption: 'The view from Volcano Maderas.' }, 
{url:'8.jpg', caption: 'Beer and ice cream. Esto está muy bien, es una buena herramienta, que espero les guste a todos, Aquí se las dejo, disfrutenla.' }
];
@edit: quizas necesite abundar un poco mas en la repuesta.

segun leyendo uno de tus ultimos post me hace entender que la variable x, y son array que contienen el filename y una descripcion, y lo que intentas hacer es crear un array master donde cada elemento es un objeto que contiene dos propiedades: el filename y caption. cabe mencionar que debe ser creado dinamicamente por lo cual usaras un bucle.

si lo anterior es cierto, entonces es algo asi lo que necesitas:
Código javascript:
Ver original
  1. var x = ['1.jpg', '2.jpg', '3.jpg' /*, ...*/];
  2. var y = ['Juanxio, Juanxio Dos Tree.', 'Tocayazo Santarelli.', 'The view from Volcano Maderas.' /*, ...*/];
  3. var data = [];
  4. for(var i = 0; i < x.length; i++){
  5. data.push({filename: x[i], caption: y[i]});
  6. }
es esto lo que intentabas? sino, deberias explicar mas tu asunto porque cada vez en tus respuestas no veo alguna modificacion de tu codigo original.

Última edición por zerokilled; 16/05/2009 a las 23:03
  #9 (permalink)  
Antiguo 18/05/2009, 08:07
Avatar de DevCH  
Fecha de Ingreso: marzo-2003
Ubicación: Villahermosa, Tabasco, Mé
Mensajes: 60
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Como llenar un Array de forma dinámica?

Si, asi es...
__________________
Carlos Hidalgo
[email protected]
Villahermosa, Tabasco, México.

"Locura es: Obtener siempre el mismo resultado, y seguir insistendo con lo mismo, esperando que algún día, algo nuevo suceda."

--Albert Einstein--

:si:
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 20:27.