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.