Então, eu queria imprimir aleatoriamente os itens de um array sem repetir a última coisa impressa em JavaScript. Isso saiu:
lastIndex = 0; // Just the first time. Could be a random number too.
setInterval(function(){
lastIndex = dnr(lastIndex, 10); // 10 being the max.
console.log(lastIndex);
}, 1000); // Every 1 sec.
// Do not repeat. Never gives the same number twice.
function dnr(lastIndex, length){
var randIndex = Math.floor((Math.random()*length));
while (randIndex == lastIndex){
var randIndex = Math.floor((Math.random()*length));
}
return randIndex;
}