Gut, also ich habe selber noch etwas rumgearbeitet und hier ist noch eine Lösung:
Das aber jetzt nicht mehr die Problemstellung löst (nur einmal das Array durchlaufen), was ist denn an slice so schwierig?
var zufall = "0";
Warum ein String?
function texter() {
zaehler = x.length;
zufall = Math.round(Math.random()*zaehler);
zufall = zufall - 1;
if(zufall >= x.length) zufall = eval(x.length + "-1");
if(zufall <0) zufall = 0;
Was dieses Konstrukt soll ist mir nicht klar.
Math.random ist ein Zahl zwischen 0 und 1 wenn du diese mit den Zähler multiplizierst und abrundest komt eine Zahl zwischen 0 und zahler raus.
if (zaehler > 0) {
document.getElementById("schreibender").innerHTML = x[zufall] + "<br>" + document.getElementById("schreibender").innerHTML;
}x[zufall] = x[x.length-1];
x.pop();
das sollte gehn.
Struppi.