09.05.2021, 17:31
Hallo zusammen,
ich würde gerne eine ArrayListe haben, welche per klick auf den Button zufällig wiedergegeben wird.
Danach soll das Element allerdings aus dem Array entfernt werden damit, beim weiteren klicken auf den Button, die Elemente, die schonmal ausgegeben wurde, nicht erneut zufällig wiedergegeben werden können.
Quasi ein zufälliges ziehen aus dem Array ohne zurücklegen.
Das mein Array zufällig ausgegeben wird klappt, allerdings nicht das entfernen dieses Element so, dass es nicht erneut zufällig ausgegeben werden kann.
Wäre toll, wenn jemand weiß wie ich das umsetzen kann.
Bis jetzt sieht es so aus:
...
<script>
var auswahl = [];
auswahl.push("1");
auswahl.push("2");
auswahl.push("3");
auswahl.push("4");
auswahl.push("5");
auswahl.push("6");
function randomText()
{
var text = [];
var zufall = auswahl[Math.floor(Math.random() * auswahl.length)];
text.push(zufall);
document.getElementById("Inhalt").innerHTML = text.join("");
// Nur ein Versuch gewesen, hab schon mehrere Sachen probiert, klappt
// alles nicht so ganz wie ich das will
for(var i = 0; i < auswahl.length; i++)
{
if (auswal[i] = zufall)
{
auswahl.pop(i);
}
}
}
randomText();
</script>
<div class = "text">
<p id="Inhalt"></p>
<div class="button">
<input type="button" value="Next" onclick="randomText();">
</div>
...
ich würde gerne eine ArrayListe haben, welche per klick auf den Button zufällig wiedergegeben wird.
Danach soll das Element allerdings aus dem Array entfernt werden damit, beim weiteren klicken auf den Button, die Elemente, die schonmal ausgegeben wurde, nicht erneut zufällig wiedergegeben werden können.
Quasi ein zufälliges ziehen aus dem Array ohne zurücklegen.
Das mein Array zufällig ausgegeben wird klappt, allerdings nicht das entfernen dieses Element so, dass es nicht erneut zufällig ausgegeben werden kann.
Wäre toll, wenn jemand weiß wie ich das umsetzen kann.
Bis jetzt sieht es so aus:
...
<script>
var auswahl = [];
auswahl.push("1");
auswahl.push("2");
auswahl.push("3");
auswahl.push("4");
auswahl.push("5");
auswahl.push("6");
function randomText()
{
var text = [];
var zufall = auswahl[Math.floor(Math.random() * auswahl.length)];
text.push(zufall);
document.getElementById("Inhalt").innerHTML = text.join("");
// Nur ein Versuch gewesen, hab schon mehrere Sachen probiert, klappt
// alles nicht so ganz wie ich das will
for(var i = 0; i < auswahl.length; i++)
{
if (auswal[i] = zufall)
{
auswahl.pop(i);
}
}
}
randomText();
</script>
<div class = "text">
<p id="Inhalt"></p>
<div class="button">
<input type="button" value="Next" onclick="randomText();">
</div>
...