Gente, no confundamos los tantos.
Los arrays aceptan posiciones NUMERICAS, caso contrario estaremos asignando propiedades como en cualquier otro objeto en JS.
Código Javascript
:
Ver originalvar myArray = [];
myArray[0] = 'a';
myArray['b'] = 'c';
// Recorremos el Array
// Muestra un unico item:
// 0 -> a
for(var i = 0; i < myArray.length; i++) {
console.log(i, '->' , myArray[i]);
}
// Recorremos el OBJETO
// Muestra ambos items, el item del array y la property:
// 0 -> a
// b -> c
for(var p in myArray) {
console.log(p, '->' , myArray[p]);
}
@piojoso
Lo que estás haciendo es básicamente mal usar los arrays, como te dijo @IsaBelM tenes que usar un objeto (y consecuentemente recorrerlo con for-in).
No es demasiado complicado el tema de colecciones en JS:
Listas -> arrays
Mapas -> objetos