рони,
итак, i это индекс th(начиная с нуля, первый th - i=0). Дальше мне в функции superSort(вот она кстати ниже) нужно отсортировать массив по какому-либо столбцу. Этот столбец, допустим, третий. Как теперь по индексу получить доступ к полю? Ну т.е. что нам это дает, что мы знаем номер столбца? Как я с помощью цифры, например, 1, которую мы передали в функцию superSort() при клике на th с текстом "Название", получу доступ к полю name в объекте?
var $th = $('section #orderstable th');
var fieldName = // что сюда записать? массив fieldsNames отсутствует
var $divSelected = $('div.selected');
var orderIdx = $divSelected.data('id');
var order = orders[orderIdx];
if($(clickedHeader).hasClass('asc')) {
if (typeof order[0][fieldName] == "number") {
order.sort(function (a, b) {
return b[fieldName] - a[fieldName];
});
} else {
order.sort(function (a, b) {
if (a[fieldName] > b[fieldName]) {
return -1;
}
if (a[fieldName] < b[fieldName]) {
return 1;
}
return 0;
});
}
$(clickedHeader).addClass('desc').removeClass('asc')
.find('.indicator-image').attr('src', 'img/desc.png');
}else{
if(typeof order[0][fieldName] == "number"){
order.sort(function(a, b) {
return a[fieldName]-b[fieldName];
});
}else{
order.sort(function(a, b) {
if (a[fieldName] < b[fieldName]) {
return -1;
}
if (a[fieldName] > b[fieldName]) {
return 1;
}
return 0;
});
}
$(clickedHeader).addClass('asc').removeClass('desc').find('.indicator-image').attr('src', 'img/asc.png');
}