Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2014, 09:13
Интересующийся
Отправить личное сообщение для Live it Посмотреть профиль Найти все сообщения от Live it
 
Регистрация: 03.10.2014
Сообщений: 12

Сортировка двумерного массива по алфавиту
Здравствуйте, проблема такая: есть двумерный массив, который заполняется так
for(i=1; i < table.rows.length; i++) {
a[i-1] = new Array();
a[i-1][0]=
table.rows[i].getElementsByTagName("td").item(col_sort_num).inn erHTML;
a[i-1][1]=table.rows[i];
}
после пытаюсь отсортировать его стандартным методом
a.sort(function(a,b){if (a[0] > b[0]) return 1;
else if (a[0] < b[0]) return -1;
else return 0;});
но сортирует как попало, что делаю не так?
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2014, 09:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Live it
что делаю не так?
Просто посмотри, что в a[0] и b[0], может это тебе все и прояснит...
Ответить с цитированием
  #3 (permalink)  
Старый 17.11.2014, 09:33
Интересующийся
Отправить личное сообщение для Live it Посмотреть профиль Найти все сообщения от Live it
 
Регистрация: 03.10.2014
Сообщений: 12

по идее в a[0] лежит элемент массива a[i][j], но как мне тогда сделать, чтобы сортировка проходила по столбцу наименование данной строки??
Ответить с цитированием
  #4 (permalink)  
Старый 17.11.2014, 13:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Live it
по идее в a[0] лежит элемент массива a[i][j]
По чьей идее?
В a[0] находится весь массив, а не какой-то его элемент...

Сообщение от Live it
как мне тогда сделать, чтобы сортировка проходила по столбцу наименование данной строки?
Таки правильно взять "ключевые выражения" для сортировки.

Пример полный сделай - тебе на нем и покажут...
Ответить с цитированием
  #5 (permalink)  
Старый 17.11.2014, 14:21
Интересующийся
Отправить личное сообщение для Live it Посмотреть профиль Найти все сообщения от Live it
 
Регистрация: 03.10.2014
Сообщений: 12

вот полностью вся функция:
function sortNaim(el) {
var col_sort = el.innerHTML;
var tr = el.parentNode;
var table = tr.parentNode;
var a = new Array();
for(i=1; i < table.rows.length; i++) {
a[i-1] = new Array();
a[i-1][0]=table.rows[i].getElementsByTagName("td").item(2).innerHTML;
a[i-1][1]=table.rows[i];
}
a.sort(function(a,b){
if (a[0] > b[0]) return 1;
else if (a[0] < b[0]) return -1;
else return 0;
});
a.reverse();
for(i=0; i < a.length; i++)
table.appendChild(a[i][1]);
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка таблицы по алфавиту dozer Events/DOM/Window 6 18.10.2014 00:22
Сортировка массива по возрастанию другого массива. vas88811 Events/DOM/Window 4 12.01.2014 10:31
Сортировка массива по ключу RazZzeR Элементы интерфейса 9 21.07.2012 19:31
Сортировка двумерного массива методом пузырька lammeR Общие вопросы Javascript 31 01.07.2012 20:48
сортировка массива с сохранением ассоциации индексов HelpeR Элементы интерфейса 1 24.02.2010 11:00