Чтобы пореже шли два одинаковых значения подряд, можно перемешивать элементы массива случайным образом, и затем выдавать их последовательно. Когда весь массив исчерпан (ни одного повтора), снова встряхнуть массив и снова начать выдавать элементы по очереди.
Совсем чуть-чуть заморочиться, и можно сделать, чтобы гарантированно никогда не шло одно и то же "случайное" значение два раза подряд.
// random order in-place
const shuffle = array => {
for (let i = array.length - 1; i > 0; i--) {
let j = Math.floor(Math.random() * (i + 1)); // random index from 0 to i
[array[i], array[j]] = [array[j], array[i]];
}
};
// init
let coinIndex = -1;
const button = document.querySelector('.button');
button.addEventListener('click', () => {
if (coinIndex < 0) {
shuffle(coinFlip);
coinIndex = coinFlip.length - 1;
}
console.log(coinFlip[coinIndex]);
coinIndex--;
});