Vinnaren i pepparkakshustävlingen!
2018-05-14, 10:23
  #1
Medlem
Förstår inte hur jag ska koppla min "slumpgenerator" med min array.

Kod:
<script>
var ord = [];

ord[0]= "Hej";
ord[1]= "Nej";
ord[2]= "EJ";
ord[3]= "Leverpastej";
ord[4]= "42";


function printit()
{

var orden = Math.random()*5;
orden = document.getElementById("svar").value=ord[orden];

}

</script>
</head>

<body>

	<form name="f1">
	<h2>Slumpa fram ett ord:</h2>
		<input type="button" value="visa ordet" onclick="printit()" />
	<input type="text" id="svar" /><br/>
	</form>
Citera
2018-05-14, 10:37
  #2
Medlem
askers avatar
Math.random() returnerar ett decimaltal mellan 0 - 1, som du sedan multiplicerar med 5. Resultatet kan bli t.ex. "3.6467409466183387", ett index som inte finns i din array 'orden'.

Byt
Kod:
var orden = Math.random()*5;
till
Kod:
var orden = parseInt(Math.random()*5);
så får du heltalet du behöver.
Citera
2018-05-14, 11:19
  #3
Medlem
tack så jätte mycket!
Citera
2018-05-14, 11:42
  #4
Medlem
Citat:
Ursprungligen postat av asker
Math.random() returnerar ett decimaltal mellan 0 - 1, som du sedan multiplicerar med 5. Resultatet kan bli t.ex. "3.6467409466183387", ett index som inte finns i din array 'orden'.

Byt
Kod:
var orden = Math.random()*5;
till
Kod:
var orden = parseInt(Math.random()*5);
så får du heltalet du behöver.

Jag skulle säga att Math.floor() är att föredra i detta fall, även om båda fungerar.
Citera
2018-05-16, 10:55
  #5
Medlem
Nich testade floor också blev super det me =D
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in