Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!


var rates = {
'0..9': 0.3,
'10..19': 0.3,
'20..39': 0.4
}
function generate(rates) {
var rand = Math.random();
var left = 0;
for (var p in rates) {
if (rand > left && rand < left + rates[p]) {
range = p.split('..');
break;
}
left += rates[p];
}
var min = parseInt(range[0]);
var max = parseInt(range[1]);
return min + Math.floor(Math.random() * (max - min + 1));
}
Управляемый random и геймификация интернет-магазина