|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.11.2010, 23:35 | #1 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 209
|
сортировка массива
Почему-то элементы массива выводятся не по порядку, эксплорер при небольшом количестве элементов выводит по порядку, при большом количестве элементов почему-то произвольно сортирует по имени, хотя его никто не просил сортировать, а опера сортирует по идентификатору.
Как отсортировать такой массив по имени? Код:
Все генитальное просто.
|
24.11.2010, 00:04 | #2 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Дело в том, что конструкция for (i in Name) не гарантирует воспроизведения объекта в исходном порядке.
http://stackoverflow.com/questions/2...bject-property |
24.11.2010, 11:50 | #3 |
Пользователь
Регистрация: 23.11.2010
Сообщений: 26
|
Это не упорядоченный массив, а ассоциативный (хэш), поэтому он может храниться как угодно, также и выводится. Если тебе приходится выполнять такую задачу, то скорее всего ты используешь не верную структуру данных или используешь её не по назначению. Хочу предложить примерно следующее.
Код:
Последний раз редактировалось XFree; 24.11.2010 в 12:08. Причина: Дополнение к материалу. |
24.11.2010, 17:11 | #4 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 209
|
Массив такого вида я получаю посредством API. Есть ли возможность преобразовать ассоциативный массив в упорядоченный, чтобы потом отсортировать?
Все генитальное просто.
|
24.11.2010, 17:57 | #5 |
Пользователь
Регистрация: 23.11.2010
Сообщений: 26
|
Лучше сразу массив сделать таким, если тебе не нужно получать знаечние по ключу. А так вообще берешь и делаешь вот так
Код:
|
25.11.2010, 06:22 | #6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 209
|
чото я окончательно запуталося... попробовал так, не работает
Код:
Все генитальное просто.
|
25.11.2010, 09:49 | #7 |
Пользователь
Регистрация: 23.11.2010
Сообщений: 26
|
Не работает потому, что ошибки в программе. Попытайся разобраться, а не просто копируй.
1. Хоть интерпритатор и умный и находит функцию, хотя она объявлена после вызова, но это плохая практика. Ладно это работает. 2. Сортировка должна применяться к массиву или пиши свою функцию сортирвки с преобразованием в масив для хэша. Будь внимателен. Рабочий код: Код:
|
26.11.2010, 09:53 | #8 | |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 209
|
Благодарю, все работает!
Цитата:
Код:
Все генитальное просто.
|
|
26.11.2010, 17:13 | #9 |
Пользователь
Регистрация: 23.11.2010
Сообщений: 26
|
Я так понял, что там у Вас PHP стоит?
Если так, то. Сортирвку и приведение в нужный вид нужно делать на PHP. JavaScript клиентский язык и его скорость заивсит от броузера и ресурсов машины, а если сделать на PHP, то данные будут приходить с сервера. |
27.11.2010, 04:32 | #10 | |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 209
|
Цитата:
Если б у меня был доступ к ихней БД, то я бы с яваскриптом и не заморачивался, но приходится работать с тем, что мне выдают. Зато теперь все работает как нужно, все правильно сортируется и отображается. Благодарю за помощь ))
Все генитальное просто.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. | lenny_24 | Помощь студентам | 2 | 17.04.2011 18:57 |
Сортировка массива | 8edrius | Помощь студентам | 0 | 08.05.2010 03:31 |
Сортировка массива | ttjke | Помощь студентам | 0 | 01.12.2009 20:03 |
Сортировка массива | Helennna | Microsoft Office Excel | 7 | 06.08.2009 18:41 |
Сортировка массива на Си | Покемон | Общие вопросы C/C++ | 2 | 01.11.2008 08:24 |