Javascript: nombre Aléatoire de 5, pas de répétition jusqu'à ce que toutes ont été utilisés

Je suis en utilisant le code ci-dessous pour attribuer une classe aléatoires (sur cinq) de chaque image sur ma page.

$(this).addClass('color-' + (Math.floor(Math.random() * 5) + 1));

C'est vraiment génial de travailler, mais je veux faire en sorte qu'il n'y a jamais deux fois la même classe dans une rangée.

Serait encore mieux si il n'y a jamais deux fois le même dans une rangée, et il l'a fait aussi de ne pas utiliser n'importe quelle classe plus d'une fois jusqu'à ce que tous les 5 avait été utilisé... Comme dans, retirez chaque classe à partir de la matrice jusqu'à ce que tous d'entre eux ont été utilisés, puis recommencer, ne permettant pas la dernière des 5 et le premier des 5 prochaines à être de la même couleur.

L'espoir qui fait sens, et merci d'avance pour toute aide.

Créer une gamme de 1 à 5 et mélangez l'ensemble.

OriginalL'auteur user2860129 | 2013-10-14