Показать сообщение отдельно
  #3 (permalink)  
Старый 28.09.2016, 01:36
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

function rand(min, max){
  var exclude = Array.prototype.slice.call(arguments, 2).sort(function(a,b){return b-a}), 
      i = exclude.length;  
  
  max = max + 1 - min - i; 
  var result = Math.floor(Math.random()*max) + min;
  while(i--) if(result >= exclude[i]) result++;
  return result
}

rand(1, 4, 1, 2, 3) //4

Это если быть уверенным во входных данных, а так стоит добавить проверок и RangeError, на всякий случай.)
__________________
29375, 35
Ответить с цитированием