michi911: Zufall entwickelt - Was ist falsch?

Beitrag lesen

<script type="text/javascript">
<!--

wert = new Array(5);

eins = Math.round(Math.random()*5);
wert[0] = "a";
wert[1] = "b";
wert[2] = "c";
wert[3] = "d";
wert[4] = "e";
//-->
</script>

</head>
<body>

<script type="text/javascript">
<!--
document.write = smiley[eins]
//-->
</script>

</body>
</html>

Vielen Dank H²O

Du greift im deinem Randomwert weder auf das Array zu noch haste eine Korrektur drinne, wenn die Randomzahl nicht zum Arrayindex passt.

<script>
var x = new Array("a","b","c","d","e","f","g","h","i","j");
--
Arrays fangen bei 0 an. Der Index 0 ist hier also "a"!
--
var y = Math.round(Math.random()*10);
--
Da der Array 10 Elemente hat, sollte man den Random mit 10 multiplizieren. Das ganze wird dann noch gerundet.
--
y = y - 1
--
Da ich beim Random noch nie eine 0 als Ausgabe bekommen habe, korregiere ich das Ergebnis mit -1
--
if(y >9) y = 9;
--
Wenn die Randomzahl größer als 9 ist so wird diese ebenfalls auf 9 korregiert. Zwar hat das Array 10 Elemente, aber es wird von 0 angefangen. Also haben die Elemente eine Zugriffszahl von 0,1,2...9!
--
document.write("Position im Array: "+y+"<br>");
--
Ausgabe der Variablen Y (inkl. Korrektur)
--
document.write("Gespeicherter Inhalt: "+x[y]);
--
Ausgabe des Arraywertes. Auf den Inhalt eines Arrays wird wie folgt zugegriffen.
x (Array)
y (Zahl von 0-9)
Wenn Y = 1 ist, so wird das Element "b" aus dem Array ausgelesen.
--
</script>

-- Text -- bedeutet Erklärung! Beim kopieren müssen diese Zeilen entfernt werden! Logisch oder? :)