Sebastian Becker: Zufallsauswahl aus Array

Beitrag lesen

Hallo,

ich möchte gerne eine Zufallsauswahl mit einer bestimmten Anzahl von Elementen eines JavaScript-Arrays anzeigen.

Meine bisherige Lösung (s.u.) ist mir eigentlich noch zu umständlich und sie funktioniert auch nur zum Teil, da das ursprüngliche Array nicht erhalten bleibt, obwohl ich in meiner Funktion mit einer Kopie derselben arbeite. Deshalb kann ich die Zufallsauswahl ohne Neuladen der Seite bislang nur ein einziges mal erzeugen.

Any ideas?

Danke für die Hilfe, Grüße aus Berlin,

Sebastian

<head>
<script>

var contentArray = new Array("fishfingers","Utah","mercurichrome","vespa","flouresce","spantangle","daedal","hogwarmer","spoot","maneouvre","pneumatic","basejumping","beanthrower","catgut","stormpie");

function randomContent(arr)
{
arr = contentArray;
alert(contentArray.length);
// remove random elements
while(arr.length>5) {
randy = Math.floor(Math.random()*arr.length);
arr.splice(randy,1)
}

contentOutput = "";
for(j=0;j<arr.length;j++) {
thisContent = arr[j];
contentOutput += thisContent + "\r";
}
document.forms[0].elements[0].value = contentOutput;
}

var randy = 0;

</script>

</head>

<body onLoad="randomContent(contentArray);">

<form action="javascript: randomContent(contentArray)">
<textarea cols="24" rows="10"></textarea>
<input value="Randomize" type="submit">
</form>

</body>