Сортировка многомерного массива в JavaScript. Перспективы других сообщений, но не могут понять, как передать члены массива в пользовательскую функцию сортировки, которая определяет, нужно ли сортировать строку или числа. Пользовательская функция сортировки заключается в следующем:Сортировка многомерного массива в 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'
? Спасибо за любую помощь, которую вы можете дать!
Это не ясно, как именно вы хотите массив (ы) для сортировки. Можете ли вы привести пример с тремя или четырьмя рядами и объяснить, как их следует заказать и почему? – Pointy
Подождите - я думаю, что понял. Вы хотите упорядочить весь список по значению одного столбца. ОК. – Pointy