Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 04.12.2002, 00:29
Rotator вне форума Посмотреть профиль Отправить личное сообщение для Rotator Найти все сообщения от Rotator
  № 1  
Rotator

Регистрация: Jul 2001
Сообщений: 29
По умолчанию Сортировка массива

Вопрос к программерам: каким образом можно отсортировать элементы массива случайным образом?
Попробовал в цикле следующее:
text=mass[Math.floor(Math.random()*mass.length)];
Работает, но при этом некоторые элементы при выводе повторяются, что в принципе нежелательно. Есть смутное подозрение, что нужно здесь заюзать метод sort(), только вот подстановка в него math.random ничего не дает. В общем подскажите, как можно реализовать сабж.

Старый 04.12.2002, 00:47
Alexey (G-fi) вне форума Посмотреть профиль Отправить личное сообщение для Alexey (G-fi) Посетить домашнюю страницу Alexey (G-fi) Найти все сообщения от Alexey (G-fi)
  № 2  
Alexey (G-fi)
 
Аватар для Alexey (G-fi)

Регистрация: Oct 2002
Адрес: Украина, Каменец-Подольский
Сообщений: 105
Добренький вечерочек...

Доб...
__________________
...и пролился на него свет,
и выросла тень позади него...


Последний раз редактировалось Alexey (G-fi); 04.12.2002 в 00:49.
Старый 04.12.2002, 00:50
Alexey (G-fi) вне форума Посмотреть профиль Отправить личное сообщение для Alexey (G-fi) Посетить домашнюю страницу Alexey (G-fi) Найти все сообщения от Alexey (G-fi)
  № 3  
Alexey (G-fi)
 
Аватар для Alexey (G-fi)

Регистрация: Oct 2002
Адрес: Украина, Каменец-Подольский
Сообщений: 105
Добренький вечерочек...


тьфу, блин, радио чип в голове барахлит...

Щас...


Секундочку

«.. раз... раз» О – нормалёк


Слушай, Rotator , а может тебе проще случайно выбирать элементы из массива, а не мучать ЕГО.

Гм?
__________________
...и пролился на него свет,
и выросла тень позади него...


Последний раз редактировалось Alexey (G-fi); 04.12.2002 в 00:52.
Старый 04.12.2002, 02:04
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 4  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Код:
randomize = function (source) {
	var result = [];
	var heap = source.concat();
	for (var i = 0; i<source.length; i++) {
		var rnd = random(heap.length);
		result.push(heap[rnd]);
		heap.splice(rnd, 1);
	}
	return result;
};
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
b = randomize(a);
trace(a);
trace(b);
пояснение:
heap = source.concat();
это всего лишь способ скопировать исходный массив, чтобы не модифицировать его при сортировке...
(конкат присоединяет к исходному массиву пустое место (потому что аргумент не указан) и возвращает новый массив (получается точная копия исходного =) ))

Старый 04.12.2002, 03:46
Rotator вне форума Посмотреть профиль Отправить личное сообщение для Rotator Найти все сообщения от Rotator
  № 5  
Rotator

Регистрация: Jul 2001
Сообщений: 29
2Nox Noctis: Круто! как раз то, что и требовалось. Спасибо

Создать новую тему   Часовой пояс GMT +4, время: 15:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:39.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.