A B C <pub1@hverdag.dk> writes:
> Jeg har et problem med multi-dimension arrays. Jeg kan finde antal
> værdier i første dimension, men ikke anden dimension! Min kode er:
>
> var w = new Array();
> w[0] = new Array();
> w[0]["personid"] = 4512;
> w[0]["first_name"] = "Bobby";
> w[0]["last_name"] = "Jones";
> w[0]["eventID"] = 3712;
Arrays er indexeret via tal, ikke strenge. Et Javascript array er også
et objekt, så du kan lave andre egenskaber end bare array-værdierne,
men de har ingen indflydelse på længden.
Du kunne lige så godt skrive
w[0] = new Object();
for du bruger ikke objektet som et array.
> document.write("Second level: "+ w[0].length);
>
> Første level siger korrekt 1, men anden level siger 0 i stedet for 4!
> Hvordan kan det være?
Det er fordi det er sådan det er defineret.
Hvis du havde skrevet
w[0][42] = "arglebargle"
så ville w[0].length == 43. Altså, længden er ikke antallet af
værdier der er sat, men en mere end det største array-indeks der
er sat. Hvilken værdi skulle det have i dit eksempel?
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'