Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/11/2010, 15:15
Avatar de zerokilled
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: Declarar objetos secuencialmente (dentro de un bucle).)

Cita:
... tenia entendido que en un array no podía almacenar objetos. Para ello estaban las colecciones, y estas no están disponibles con JavaScript.
en javascript, los arrays pueden almacenar cualquier tipo de valor; lo mismo que puedes retener en una variable lo puedes retener en un array. los arrays son contenedores, lo único que indexados.

Código:
var array = [
[], // array
{}, // object
0, // integer
'string', // string
true, // boolean
function(){} // function
];

// en este ejemplo cada elemento tiene diferentes tipos de valores y todos estan contenido en un array ;
no tengo idea de que son las colecciones en el contexto de otros lenguajes pero en javascript las colecciones son estructuras bien parecidas a los arrays. es decir, son indexados. lo único que no tienen los mismos métodos que los arrays y el valor de cada elemento representa elementos HTML.

Cita:
imagino que usando el método push, ¿cierto?.
es correcto.

Cita:
pues no puedo declararlo como" var Localizacioni;" (donde i sea un contador). Salvo claro está, que yo pueda hacer una declaración del tipo" var vector[i];". ¿Es a esto a lo que te refieres?.
como ya comentaba, en javascript no puedes crear variables al vuelo. mas bien puedes pero de la forma "sucia": eval.
Código:
eval("var nombre"+ variable+ " = valor;");
pero esa forma trae otras complicaciones técnicas además de que es más complicado el mantenimiento del código. la solución que proponía es crear un array y con el bucle lo vas llenando de objetos Marker. luego, cuando necesites hacer referencia a uno de esos objetos utilizas el indice. a mi juicio esta solución es mas limpia vs crear multiples variables. por ejemplo, en multiples variables:
  • ¿cómo vas a determinar cuantas variables se crearon?
  • si fueras hacer referencia al vuelo a una de las variables, tendrías que constantemente evaluar código javascript para integrar el número con el prefijo y así formar el nombre completo.
con un array: el nombre siempre será el mismo; solo te tienes que ocupar de indicar el indice; es más organizado puesto que todos los datos se relacionan, es decir todos son objetos Marker.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.