Реализация не повторяющегося рандома

127
04 августа 2019, 22:20

Есть определенный тест, который генерируют массивы с ответами, но рандом повторяет числа.

function randomForTest(min,max){
var su=Math.floor((Math.random()*(max-min+1))+min);
return su; } // дальше идет тест .

как сделать без повторений?

Answer 1

Перемешайте набор неповторяющихся чисел с самого начала:

function getShuffledArray(min, max) { 
  var res = []; 
  for (var i = min; i <= max; i++) { 
    res.push(i); 
  } 
  res.sort(() => 0.5 - Math.random()); 
  return res; 
} 
 
var shuffled = getShuffledArray(4, 9); 
console.log(JSON.stringify(shuffled));

READ ALSO
Не работает translateY() [дубликат]

Не работает translateY() [дубликат]

На данный вопрос уже ответили:

101
Значение для динамического элемента

Значение для динамического элемента

Через URL ко мне приходят параметры со значениями, которые я записываю в массив paramsURL[]Тогда мне нужно установить пришедшие данные как value для...

112
Проблема отображения Slick Slider

Проблема отображения Slick Slider

Всем привет, проблема такая, на сайте - https://markuslutrellgithub

104
Передать значение input обработчику

Передать значение input обработчику

У меня есть input на странице в котором по умолчанию value задано 1При клике на кнопку я передаю значение через ajax, значение этого поля должно передаться...

117