Показать сообщение отдельно
  #3 (permalink)  
Старый 10.05.2015, 23:41
Аватар для Leon-on12
Аспирант
Отправить личное сообщение для Leon-on12 Посмотреть профиль Найти все сообщения от Leon-on12
 
Регистрация: 07.04.2015
Сообщений: 65

Предлагаю довольно странную проверку нового элемента на соответствие с уже записанными.
Ваше решение видимо короче, и менее грузно для процессора. Но разобраться в нём я не смог.
var numbers = [];
numbers[0] = Math.floor(Math.random()*101);
var check;
for(var i = 0; i < 100; i++){
	var newItem = Math.floor(Math.random()*101);
	check = 0;
	for(var n = 0; n < numbers.length; n++){
		if (newItem == numbers[n]){
			check++;
		}
	}
	if (check == 0){
		numbers.push(newItem);
	}
}

document.write(numbers);

Но возникает проблема в том что элементов не 100. У меня получилось в среднем 65 элементов. Если у нас просто 100 элементов надо расположить в произвольном порядке, то это задача чуть чуть другая, и решать её стоит чуть чуть по другому.
В смысле что у Вас 100 элементов и рандом даёт вам число от 100 до 1.
То есть у вас есть дискретный набор элементов которые надо перемешать.

Уточните пожалуйста задачу, в виду того что накручивать ещё костылей на моё решение для получения именно 100 элементов бессмысленно.
Поставьте перед собой правильную задачу.
Ответить с цитированием