Avatar billede isdan Nybegynder
24. juli 2001 - 12:42 Der er 3 kommentarer og
3 løsninger

Fra VbScript til javascript

Hvordan laver man at array i javascript f.eks lige som nedunder i VB

a = \"a,b,c,d\"
b = split(a,\",\")

response.write b(1) & \" \" & b(2)


og hvordan gør man med et multidim. array

f.eks

Dim a
redim a(10,10)

a(1,0) = \"a\"
a (2,0) = \"b\"
a (1,1) = \"A\"
a (2,1) = \"B\"
Avatar billede nute Nybegynder
24. juli 2001 - 12:50 #1
a = \"a,b,c,d\"
b = split(a,\",\")

er det samme som:

var a = \"a,b,c,d\";
var b = a.split(\",\");

Hvis du skal lage en multidimensjonell array, så skal du først lage en array med lengde lik antall dimensjoner, og deretter skal du legge en array inn i hver \"dimensjon\":

var containerArr = new Array(2);
var dimOne      = new Array(n);
var dimTwo      = new Array(n);
// Fyll dine arrays, og deretter:
containerArr[0] = dimOne;
containerArr[1] = dimTwo;

/nute
Avatar billede jakoba Nybegynder
24. juli 2001 - 12:56 #2
og din
    response.write b(1) & \" \" & b(2)
bliver (95% sikker)
til:
    document.write( b[1] +\" \" +b[2] );

Ikke sikker på om index er korrekte. i javascript starter alle arrays med index 0.

mvh JakobA
Avatar billede roenving Novice
24. juli 2001 - 12:58 #3
For bare at lave et array brug:

var a = new Array(\"a\", \"b\", \"c\", \"d\");

I princippet kan du ikke lave flerdimensionable arrays, men du kan dog simulere ved at lave arrays af arrays. Men i praksis vil det dog sikkert oftest være nemmere at lave paralelle arrays: a1(), a2() osv.

Når du så skal adressere dem bruger du f.eks. eval funktionen:

for (i=0; i<=10; i++) {
  for (j=0; j<=10; j++) {
      // hent værdi
      temp=eval(\"a\"+i+\"(j)\")
  }
}

hth
jes
Avatar billede roenving Novice
24. juli 2001 - 13:01 #4
>>>nute

Og så skal adresseringen vel være f.eks. containerArr[0][2] eller hur ?-]
Avatar billede jakoba Nybegynder
24. juli 2001 - 13:02 #5

var data = \"a,b,c;d,e,f,g;h,i,j\";
var arr = data.split(\";\");
for (var i=0; i<arr.length; i++ ) arr[i] = arr[i].split(\",\");

alert( arr[2][0] +arr[1][1] +arr[2][2] ); // sku gerne sige hej :)

du kan fortsætte med flere niveauer, sørg blot for at der bruges en forskellig separator på hvert niveau.

mvh JakobA
Avatar billede isdan Nybegynder
24. juli 2001 - 13:27 #6
Tak for de fine eks.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester