Показать сообщение отдельно
  #3 (permalink)  
Старый 10.10.2012, 23:12
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Если нужен генератор рандомных, не повторяющихся чисел из заданного диапазона, то вот он:
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. Я этот генератор использовал для генерации плейлистов для онлайн проигрывателя.

Последний раз редактировалось Magneto, 10.10.2012 в 23:14. Причина: хуй!
Ответить с цитированием