Смотря о чём мы говорим. Если мы говорим про лимиты для одного пользователя (а точнее для одной сессии, т.к. при перезагрузке страницы prizes обновится) то достаточно добавить в объект приза поля maxCount, count и получить что-то типо
{
id: 10,
msg: "35% OFF",
count: 0,
maxCount: 0
},
И после переролливать, если уже выдано максимальное количество
function randomNum() {
var prizeNum = Math.random() * 12;
prizeNum = Math.floor(prizeNum);
if(prizes[prizeNum - 1].count >= prizes[prizeNum - 1].maxCount)
return randomNum()
console.log(prizeNum);
return prizeNum;
}
Если для всех пользователей, то логика та же, но все эти данные должны храниться и отдаваться сервером