Cita:
Iniciado por caricatos si preguntamos por el "length" de este array x la respuesta será "0" o array vacío.
Nunca me había fijado en eso..
Código PHP:
var arr=new Array();
arr["elemento1"]="elememento número uno";
arr["elemento2"]="elememento número dos";
arr["elemento3"]="elememento número tres";
arr[0]="hola";
arr[1]="qué tal";
arr[2]="bien";
for(var i in arr) {
document.write(i+" --> "+arr[i]+"<br/>");
}
document.write("Su longitud sería --> "+arr.length+"<br/>");
Salida (FF2):
Cita: elemento1 --> elememento número uno
elemento2 --> elememento número dos
elemento3 --> elememento número tres
0 --> hola
1 --> qué tal
2 --> bien
Su longitud sería --> 3
Pero también me parece curiosa la cuestión de que el for(i in arr) no devuelva arr.length también como propiedad (como for(i in document) devuelve todas las propiedades de document ); ya que arr["length"] funciona perfectamente.
Supongo que en un array asociativo deberíamos calcular su length real (si la necesitasemos para algo, que no creo, porque no nos serviría para recorrer el array...).
Opino que los arrays son objetos como cualquier otro. A cualquier objeto le puedes hacer objeto["loQueYoQuiera"]="miValor" y perfectamente lo almacenaría...
A veces el javascript me sigue sorprendiendo...