JavaScript

вопрос про JS, рандом чисел в %

как сделать чтоб рандомное число из диапазона чисел от 7 до 11 выводилось в alert

при том чтоб например

число 6 выводилось 5 раз
число 7 выводилось 20 раз
число 8 выводилось 70 раз
число 9 выводилось 90 раз
число 10 выводилось 15 раз

нужно чтоб все это рандомно без повторений

благодарю за помощь
function getRandomInteger(a, b) {
let min, max;
a = Number.parseInt(a, 10);
if (Number.isNaN(a)) {
console.error("Первый аргумент getRandom не является целым числом.");
return NaN;
}
b = Number.parseInt(b, 10);
if (Number.isNaN(b)) {
console.error("Второй аргумент getRandom не является целым числом.");
return NaN;
}
min = a < b? a : b;
max = a > b? a : b;
return Math.floor(Math.random() * (max - min)) + min;
}

function randomArray(begin, end, mask) {
if (Array.isArray(mask)) {
let array, i, rnd, num, j;
array = [];
for (i = 0; i < mask.length; i += 1) {
rnd = getRandomInteger(begin, end);
if (Number.isNaN(rnd)) {
console.error("getRandomInteger вернула NaN.");
break;
}
num = Number.parseInt(mask[i], 10);
if (Number.isNaN(num)) {
console.error((i + 1) + "-й элемент в mask не является целым числом.");
num = 0;
}
for (j = 0; j < num; j += 1) {
array.push(rnd);
}
}
return array;
} else {
console.error("Третий аргумент randomArray не является массивом")
}
}

let mask = [2, 3, 5, "d", 3];

let array = randomArray(6, "12", mask);

for (let i = 0; i < array.length; i += 1) {
alert(array[i]);
}
Рамазан Керимов
Рамазан Керимов
70 206
Лучший ответ
Создаешь массив с нужными значениями
{7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,...
"Перемешиваешь" любым способом (например выбираешь случайное число-индекс и меняешь местами с 0 индексом )
Саша Кудин
Саша Кудин
85 864