Сортировка многомерного массива в JavaScript. Просмотрел другие сообщения, но не могу понять, как передать элементы массива пользовательской функции сортировки, которая определяет, следует ли сортировать строку или числа. Пользовательская функция сортировки такова:
function colSort(a, b) {
if (sortDown) dValue = 1
else dValue = -1;
if (isNumeric(a[sortIndex])) {
return (b[sortIndex] - a[sortIndex]) * dValue;
} else {
var astring = a[sortIndex].toLowerCase();
var bstring = b[sortIndex].toLowerCase();
if (bstring > astring) return -dValue;
if (bstring < astring) return dValue;
return 0;
}
}
Массив выглядит так:
var qbStats =[
['David Lea', 'GB', 343, 502, 68.3, 4643, 9.2, 45, 6, 122.5],
['Kevin Whyte', 'NO', 440, 622, 70.7, 5087, 8.2, 41, 13, 108.4]
]
Заголовки столбцов в таблице HTML, в которой перечислены элементы массива, должны быть доступны для сортировки по возрастанию/убыванию в выбранном столбце.
Я не могу понять, как указать элементы для сортировки по выбранному индексу.
Я знаю, что это начинается так:
qbStats.sort(colSort(a,b));
Но я не знаю, как передать элементы массива для сортировки по определенному индексу. Пример: как мне сказать ему сортировать 'GB'
и 'NO'
как 'a'
и 'b'
? Спасибо за любую помощь, которую вы можете дать!