Javascript: Losowa liczba z 5, bez powtórzeń, dopóki wszystkie nie zostaną użyte

Używam poniższego kodu, aby przypisać losową klasę (z pięciu) do każdego pojedynczego obrazu na mojej stronie.

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

Działa świetnie, ale chcę, aby nigdy nie było dwóch takich samych klas z rzędu.

Jeszcze lepiej byłoby, gdyby nigdy nie było dwóch takich samych w jednym rzędzie, a także nie używał żadnej klasy więcej niż raz, aż wszystkie 5 zostały użyte ... Tak jak w, usuń każdą używaną klasę z tablicy, aż wszystkie z nich zostały użyte, a następnie zacznij od nowa, nie pozwalając, aby ostatni z poprzednich 5 i pierwszy z 5 był taki sam.

Mam nadzieję, że to ma sens i z góry dziękuję za wszelką pomoc.

questionAnswers(4)

yourAnswerToTheQuestion