Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
Maksim
1

Сортировка многомерных массивов

16.04.2009, 19:32. Показов 4077. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Короче, происходит следующее:
Браузер отказывается сортировать массив, элементами которого является массивы или объекты...

Не пойму, в чем дело... Бьюсь уже третий час... Может у меня ошибка какая, которая мне не по глазам?

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script>
function sorter(a, b){
var res=(a['ID']>b['ID']);
return res;
}
var data=[];
data[0]=[];
data[0]['ID']=5;
data[1]=[];
data[1]['ID']=3;
 
data.sort(sorter);
for (var i=0; i<data.length; i++) {
document.write(data[i]['ID']+'
');
}
</script>
Посоветуйте чего-нибудь, а?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2009, 19:32
Ответы с готовыми решениями:

Приложение представляющее организацию многомерных вычислений многомерных массивов
Разработать приложение для Windows, представляющую организацию многомерных вычислений многомерных...

обработка многомерных массивов
В заданном массиве А(N,M), состоящих из целых чисел, определить макс элементе в заштрихованной...

Обработка многомерных массивов
Создать многомерный массив 3x3 элементов.Сделать Разность по горизонтали. Три полученых результата...

Обработка многомерных массивов
Создать многомерный массив 4x4.Вывести на экран минимальное значение многомерного массива.

6
Maksim
16.04.2009, 19:40 2
Причем места элементов в массиве при сортировке меняются, но каким-то непонятным образом...
Например сортировка такого массива:
Javascript
1
2
3
4
5
6
7
8
9
10
11
var data=[];
data[0]=[];
data[0]['ID']=5;
data[1]=[];
data[1]['ID']=3;
data[2]=[];
data[2]['ID']=2;
data[3]=[];
data[3]['ID']=8;
data[4]=[];
data[4]['ID']=1;
в результате дает:
2
1
5
3
8
0 / 0 / 0
Регистрация: 16.02.2009
Сообщений: 18
19.04.2009, 00:41 3
Функциёвину sorter малость того ... поменять надо:
Javascript
1
2
3
4
5
function sorter(a, b){
    //var res=(a['ID']>b['ID']); // эта не будет работать (((
    var res = a['ID'] - b['ID']  // а это будет :)
    return res;
}
0
Maksim
19.04.2009, 03:44 4
А если у меня сортировка производится по текстовому полю?
Или по нескольким полям? Как быть?
0 / 0 / 0
Регистрация: 16.02.2009
Сообщений: 18
19.04.2009, 05:18 5
Сортировка по текстовому полю идет by default. Т.е. Вам вообще ничего не надо указавать в .sort()
0
0 / 0 / 0
Регистрация: 16.02.2009
Сообщений: 18
19.04.2009, 05:28 6
Хмм ... не работает с многомерным то (((
0
0 / 0 / 0
Регистрация: 16.02.2009
Сообщений: 18
19.04.2009, 05:54 7
Cheers! Вот так работает:
Javascript
1
2
3
4
5
6
7
8
function sorter(a, b) 
{ 
   if(a['ID'] < b['ID']) 
      return -1 
   if(a['ID'] > b['ID']) 
      return 1 
   return 0 
}
0
19.04.2009, 05:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2009, 05:54
Помогаю со студенческими работами здесь

Расхождение многомерных массивов
Есть два многомерных массива: $arr1 = array ( 0 =&gt; array ('title' =&gt; 'Автослесарь'), 1 =&gt;...

Создание многомерных массивов
День добрый, подскажите пожалуйста - раньше в си можно было сделать так: public struct MyStruct...

Индексация многомерных массивов
Почему в C/C++ массивы объявляются так: int array; Это связано как-то с процессом компиляции...

Организация многомерных массивов
Дана матрица А(5на5). Найти количесвто положительных элементов в каждом из столбцов. Понемять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru