PDA

Просмотр полной версии : Как правильно отсортировать массив?


Danss
22.05.2008, 13:10
Я понимаю что вопрос конечно глупый, но проблема в том что есть поля подружаемое из хмл, одно из них: <DrinkStep start="22">
нужно отсортировать в числовой последовательности, пытаюсь делать так: drinkChapter.recipes.sortOn("startTime",Array.NUMERIC);
он сортирует, но сортирует так: 1,2,22,3,6,63 ...... т.е. как то по первым числам... подскажите плз, что не так?
Спасибо.

Alex_beginner
22.05.2008, 13:23
Формат свойства startTime - Number?

Добавлю. recipes должен быть массивом объектов

Danss
22.05.2008, 16:42
да,startTime - Number, recipes - и так обьекты... в чем же дело может быть?

chingachgoog
22.05.2008, 16:57
он сортирует, но сортирует так: 1,2,22,3,6,63 ...... т.е. как то по первым числам... подскажите плз, что не так?


Вообще в хелпе Array.sortOn() как раз ваш случай описан. Не хотите почитать?

Также посмотрите Array.sort() - вам больше подойдет, вместе с написанием собственной compareFunction.

Danss
22.05.2008, 17:03
спасибо, из хелпа и применял, может чего то не заметил . . .

iNils
22.05.2008, 17:04
Array.NUMERIC не переводит String в Number, он указывает, что при сортировке, числа сортируются как числа, а не как строки. А данные в XML всегда в виде String, поэтому start надо перевести в Number.

Danss
22.05.2008, 17:17
все,спасибо разобрался..... к намберу было не правильно приведено, переделал, сортирует нормально