"TH" <th@cogito.dk> writes:
> Jeg skal have defineret et 2 dimensionalt array i Javascript....og kan ikke
> hitte ud af det :)
Der er ikke noget der i sig selv hedder et et todimensionalt array i
Javascript. Det er bare et (etdimensionelt) array af arrays.
> Det jeg skal bruge er følgende:
>
> var mArray=new Array;
> mArray[0]=new Array("1","2","3")
> mArray[1]=new Array("1","2","3")
> mArray[2]=new Array("1","2","3")
> mArray[3]=new Array("1","2","3")
Det ser da fint ud.
> Det er fint...men jeg behøver det dynamisk...Hvordan gør jeg begge
> "dimensioner" dynamiske? Og hvordan så med "length" af dem?
Her er en funktion der laver og initialiserer et <fst>*<snd> array.
---
function toDimArray(fst,snd) {
var ar = new Array(fst); // eller bare: new Array()
for(var i=0;i<fst;i++) {
ar[i]=new Array(snd);
}
return ar;
}
---
Funktionen Array er lidt speciel. Hvis den får præcist et argument der
er et tal (typeof * = "number"), så laver den et array af den længde
initialiseret med værdien "undefined". Alle andre valg af argumenter
bliver til indhold af det nylavede array.
Længden af et array er afgjort af det største index der er sat.
Fx.
var ar=new Array();
ar[200]="foo";
Så vil ar.length være 201.
Derfor er det ikke nødvendigt at initialisere arrays med en længde
med mindre man senere bruger dem steder der forventer en længde
ud over de elementer der er sat (gav det mening?).
/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:
http://www.brics.dk/~lrn/cv.html>