![]() |
Список уникальных значений
Задача простая. Получаю на входе массив ключей. Для передачи на сервер мне нужно получить список уникальных значений после фильтрации.
Ничего не придумал лучшего как создать объект и присваивать ему свойства с именами ключей. Перед присвоением можно использовать фильтр чтобы не обрабатывать лишних значений. Код AS3:
Код AS3:
|
Причем здесь флэш?
|
AS3 прошу прощения
|
Вы не поняли. Я про то, что данная задача и к AS3 не имеет отношения. У Вас есть массив значений из которого нужно получить массив уникальных значений.
В чем проблема? Зачем так сложно, "свойства с именами ключей"? Я как бы не очень много пишу на AS но например навскид для массива чисел: Код AS3:
зы. Поправочка: sort работает нескольок иначе, чем я думал. И поэтому мой код, вообще говоря, не рабочий. Но смысл из него ясен. См. описание ф-ции sort(). |
есть, если мне память не изменяет,вид сортировки в массиве, что он вернёт уникальные элементы.
|
Свойства с именами ключей позволяют не осуществлять пробежку по всему массиву полученных значений для проверки на уникальность. На сколько я помню объекты как раз и рекомендуется у большинства авторов использовать вместо массивов как менее ресурсоемкие.
В других языках есть множества SET которые позволяют получить уникальный список значений. При добавлении элемента который является неуникальным он просто игнорируется как не влияющий на конечное множество. Получается в SET скидываешь все значения, на выходе получаешь только уникальные. Добавлено через 2 минуты Цитата:
|
Я Вам нарисовал отбор уникальных значений в один проход
|
Цитата:
Добавлено через 1 минуту Цитата:
|
Методов сортировки, насколько я помню, 3. Основных. И у Вас будет k+1 проходов по массиву (где к - проходов при сортировке). При этом я не думаю что внутренний способ для сортировки array() менее эффективен чем применяемые повсеместно.
И вы думаете что поиск по имени свойства более эффективен? Там то-же самое. Только вот смысл несколько меняется. У Вас значение становится переменной, а оно должно оставаться значением. Короче в любом случае у Вас будут некие затраты на индексирование. |
Код AS1/AS2:
|
| Часовой пояс GMT +4, время: 13:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.