Если нужен генератор рандомных, не повторяющихся чисел из заданного диапазона, то вот он:
function generateArrayRandomNumber (min, max) {
var totalNumbers = max - min + 1,
arrayTotalNumbers = [],
arrayRandomNumbers = [],
tempRandomNumber;
while (totalNumbers--) {
arrayTotalNumbers.push(totalNumbers + min);
}
while (arrayTotalNumbers.length) {
tempRandomNumber = Math.round(Math.random() * (arrayTotalNumbers.length - 1));
arrayRandomNumbers.push(arrayTotalNumbers[tempRandomNumber]);
arrayTotalNumbers.splice(tempRandomNumber, 1);
}
return arrayRandomNumbers;
}
// Нужно учесть что в диапазоне участвуют и минимальное и максимальное число
// тоесть если задать (0, 100) то на выходе получим массив из 101-го числа
// от 1 до 100 и плюс число 0
alert(generateArrayRandomNumber(45, 67));
P.S. Я этот генератор использовал для генерации плейлистов для онлайн проигрывателя.
|