Форум 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=169983)

sstotenkopf 16.10.2011 03:01

Сортировать массив
 
Здравствуйте, я конечно понимаю, что вопрос бородатый, но все же не могу понять как действует моя сортировка, пытаюсь отсортировать arraycollection по полю "on":

ArrayCollection - arrColl
Код:

[
                                {label:"Рон", sn:"harisson", id:"784394", on:"1"},
                                {label:"Collen", sn:"johnson", id:"908364", on:"1"},
                                {label:"Sharon", sn:"marshal", id:"373467", on:"0"},
                                {label:"Ronnie", sn:"cartman", id:"76384", on:"0"},
                                {label:"Sydney", sn:"Bristow", id:"34334", on:"1"},
                                {label:"Brad", sn:"Shrayer", id:"27683", on:"0"},
                                {label:"Fred", sn:"Kennersy", id:"34566", on:"0"},
                                {label:"Marc", sn:"Larren", id:"87623", on:"1"}]

Функция:

Код:

public function sortCollection() : void
                        {
                                var dataSortField:SortField = new SortField();
                                dataSortField.name = "on";
                                dataSortField.numeric = true;
                                var numericDataSort:Sort = new Sort();
                                numericDataSort.fields = [dataSortField];
                                arrColl.sort = numericDataSort;
                                arrColl.refresh();
                        }

он конечно сортируется, но как то не так, мне кажется, что не по полю "on". Что посоветуете?

Silicium 16.10.2011 03:34

какой результат получаете?

sstotenkopf 16.10.2011 03:37

Цитата:

Сообщение от Silicium (Сообщение 1039581)
какой результат получаете?

ronnie cartman fred kennersy sharon marshal brad shrayer collen johnson рон harrison sydney bristow marc larren

wvxvw 16.10.2011 11:53

Так результат же правильный... название темы только не правильное. ArrayCollection - не массив и не типа массив.

Silicium 16.10.2011 13:00

Цитата:

Так результат же правильный...
Действительно. Сначала все нулики, потом единички - что не так? Если нужно, чтобы относительный порядок сохранялся, то надо добавить еще одно поле порядкового номера, и делать по нему сортировку второго порядка.

sstotenkopf 16.10.2011 15:01

Цитата:

Сообщение от Silicium (Сообщение 1039614)
Действительно. Сначала все нулики, потом единички - что не так? Если нужно, чтобы относительный порядок сохранялся, то надо добавить еще одно поле порядкового номера, и делать по нему сортировку второго порядка.

Видно ночью, меня самого глючило...) Т.к. забыл написать, что мне нужно чтобы сначала шли единицы...

alatar 16.10.2011 15:34

Код AS3:

numericDataSort.reverse();


sstotenkopf 16.10.2011 21:48

Цитата:

Сообщение от alatar (Сообщение 1039651)
Код AS3:

numericDataSort.reverse();


Спасибо! а как таким способом сортировать по двум полям?

GBee 16.10.2011 21:58

Никак, это переворот массива. Сортировать по двум и более олям можно запихав несколько нужных SortField в массив sort.fields


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

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