Показать сообщение отдельно
Старый 06.11.2003, 22:53
DUDE вне форума Посмотреть профиль Отправить личное сообщение для DUDE Посетить домашнюю страницу DUDE Найти все сообщения от DUDE
  № 3  
DUDE
 
Аватар для DUDE

Регистрация: Dec 2001
Адрес: n/a
Сообщений: 1,386
Array.sort
Доступность—Flash Player 5.
Синтаксис:
myArray.sort([compareFunction])
Параметры
compareFunction Произвольная сравнивающая функция, определяющая порядок сортировки. Учитывая аргументы А и В, функция orderfunc должна выполнять сортировку следующим образом:

-1 если A появляется прежде, чем B в сортируемой последовательности
0 если A = B
1 если A появляется после B в сортируемой последовательности

Возвращает
Ничего.
Описание:
Метод, сортирует массив на месте без создания копии. Если Вы опустите аргумент compareFunction, Flash сортирует элементы на месте, используя оператор сравнения <.

Пример:
Использование метода Array.sort без указания аргумента compareFunction:
var fruits = ["oranges", "apples", "strawberries", "pineapples", "cherries"];
trace(fruits.join()); // выведет в окно Output oranges,apples,strawberries,pineapples,cherries
fruits.sort();
trace(fruits.join()); // выведет apples,cherries,oranges,pineapples,strawberries

Использование Array.sort, определяя аргумент функции.
Код:
 
var passwords = [
   "gary:foo",
   "mike:bar",
   "john:snafu",
   "steve:yuck",
   "daniel:1234"
 ];
 function order (a, b) {
   // Элементы записаны в форме
   // name:password
   // Сортируем, используя в качестве ключа
   // только часть name.
   var name1 = a.split(':')[0];
   var name2 = b.split(':')[0];
   if (name1 < name2) {
     return -1;
   } else if (name1 > name2) {
     return 1;
   } else {
     return 0;
   }
 }
 for (var i=0; i< password.length; i++) {
   trace (passwords.join());
 }
 passwords.sort(order);
 trace ("Sorted:");
 for (var i=0; i< password.length; i++) {
   trace (passwords.join());
 }
Предыдущий код отобразит следующий результат в окне Output:

daniel:1234
gary:foo
john:snafu
mike:bar
steve:yuck
__________________
Однажды, я захотел понюхать
кока-колу, но кубики льда,
застряли у меня в носу!