Какие есть способы создания массива:
	- Создавать случайные числа, пока не наберётся сколько надо.
 
- Создать массив, состоящий из всех чисел интервала, выдернуть из него сколько надо случайных.
 
- Создать массив, состоящий из всех чисел интервала, перемешать его, взять кусок нужного размера.
 
Что делать при попытке создать массив с длиной больше указанного интервала:
	- Кидать ошибку.
 
- Создавать массив с длиной меньше указанной.
 
Вот как-то так:
function createRandomArr(size, min, max) {
  if (size > (max -= ~-min)) {
    throw 'невозможно создать массив указанного размера';
  }
  const values = new Set;
  for (; values.size < size; values.add(min + Math.random() * max | 0)) ;
  return [...values];
}
или
function createRandomArr(size, min, max) {
  const len = max - min + 1;
  const arr = [...Array(len).keys()];
  return Array.from(
    { length: Math.min(size, len) },
    () => min + arr.splice(Math.random() * arr.length | 0, 1)[0]
  );
}
или
function createRandomArr(size, min, max) {
  const arr = Array.from(
    { length: max - min + 1 },
    (_, i) => i + min
  );
  for (let i = arr.length; --i > 0;) {
    const j = Math.floor(Math.random() * (i + 1));
    [ arr[j], arr[i] ] = [ arr[i], arr[j] ];
  }
  return arr.slice(-size);
}