Avatar billede Slettet bruger
19. december 2005 - 15:18 Der er 5 kommentarer og
1 løsning

Strenge og tal. Hvorfor kan jeg ikke konvertere?

Hej alvidende eksperter.
Jeg har følgende kode, der genererer et array med 4x20 tilfældige, unikke tal mellem 0 og 20:

var howmanyquestions = 20;
randquestnum = new Array();
for (episode=0; episode<4; episode++) {
  var i, tal = [], randnum = [];
    for (i=0; i<howmanyquestions; ) {
      tal[i] = i++;
    }
    for (i=0; i<howmanyquestions; i++) {
      randquestnum[randquestnum.length] = tal.splice(Math.floor(Math.random()*tal.length), 1);
    }
}
// -------------------------------------------------------------
trace(randquestnum);
trace("Det første element i listen er: "+randquestnum[0]);
trace("Det første element som streng + 10 er: "+randquestnum[0] + 10);
trace("Første element + 10 = "+Number(randquestnum[0]) + 10);
// -------------------------------------------------------------



Selve genereringen af tilfældighedsarray'et fungerer fint.
Øverste trace udskriver indholdet af hhv. randquestnum - f.eks. [15,19,3,8,1,13....osv.]
2. trace udskriver værdien på nul-positionen, i dette tilfælde strengen 15.
3. trace sammensætter og udskriver... 1510
4. trace. Her ønsker jeg at addere de to tal og skriver derfor Number() omkring randquestnum[0]. Men den returnerer blot et NaN.


Hvad skal jeg gøre, for at den udskriver resultatet 25?

Mvh.
Avatar billede barklund Nybegynder
19. december 2005 - 15:23 #1
splice returnere et array - så dit element er et array og et array plus et tal bliver til toString-versionen af de to værdier - altså strengkonkatenering. Du kan lave det ved at smide en [0] efter din splice().

Dog kan du se et markant smartere metode til lige netop dette på:

http://actionscript.dk/artikler/?a=24

I denne artikel kan du finde hints til, hvordan du smartest og bedst laver et array af tilfældige tal :)

--
Morten Barklund
Avatar billede barklund Nybegynder
19. december 2005 - 15:23 #2
Returnerer - med r! sgu! :)
Avatar billede Slettet bruger
19. december 2005 - 15:50 #3
Ahr, super :) Smid et point og få svar - eller var det omvendt?
Avatar billede barklund Nybegynder
19. december 2005 - 15:54 #4
Point er et smid.
Avatar billede barklund Nybegynder
19. december 2005 - 16:01 #5
Svar for tak! :)
Avatar billede Slettet bruger
19. december 2005 - 16:16 #6
Jamen jeg takker for hjælpen, såmænd...
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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