Рони друг мой я протестил:
и вот какие результаты
1место скрипт пост 7
2место -10% пост 10
3 место -66% твой скрипт
МБ я что нитак сделал. (прокоментируй пжл)
https://jsperf.com/do
на счет первого скрипта я согласен подход не совсем правильный (есть косяк который немного увеличивает вероятность выпадения соседнего цвета, а в остальном вроде никакую опасность не несет)