Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Нахождение одинаковых значений в массиве и их сортировка по другому свойству (http://www.flasher.ru/forum/showthread.php?t=139384)

Ivanaka 29.04.2010 17:19

Нахождение одинаковых значений в массиве и их сортировка по другому свойству
 
Здравствуйте уважаемые гуру,
Проблема в следующем, есть массив объектов с 2 свойствами(по колонкам):

Dany 50 72
Jena 43 53
Lena 43 62
Dana 42 63
Olya 35 51
Ivan 34 52

Сейчас объекты отсортированы по убыванию в первой колонке. Требуется найти объекты с одинаковыми значениями в первой колонке и отсортировать эти объекты между собой (не нарушая сортировку остальных!) по значениям во второй колонке. Т.е. в вышеуказаном примере должны поменяться местами "Jena" и "Lena".

Заранее благодарен!

P.S. Просьба модераторам перенести в раздел AS3, промазал с разделом :boredom:

Волгоградец 29.04.2010 17:35

array.sortOn(). В хэлпе есть примеры сортировки по нескольким полям.

Ivanaka 29.04.2010 19:37

Понятно, что sortOn() пользовать. Вот что пишет хелп:
По умолчанию Array.sortOn() действует следующим образом:
...
Массив изменяется, отражая порядок сортировки; несколько элементов, имеющих идентичные поля сортировки последовательно размещаются в отсортированном массиве без определенного порядка.

А мне нужно чтобы одинаковые элементы располагались в "определенном порядке", т.е. по данным из 2 столбца, НО не нарушая изначальную сортировку!

Конструкция
Код AS3:

Array.sortOn("столбец1", "столбец2", Array.DESCENDING)

не дает нужного результата.

Zebestov 29.04.2010 20:02

Конструкция
Код AS3:

Array.sortOn(["столбец1", "столбец2"], [Array.DESCENDING, Array.DESCENDING]);

дает нужный результат

Ivanaka 29.04.2010 20:15

Спасибо, то что надо!


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

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