Шаг 117.
Библиотека jQuery. Работа с таблицами. Сортировка и разбивка на страницы. Сортировка с помощью JavaScript. Простая сортировка. Сортировка массивов

    На этом шаге мы рассмотрим особенности использования встроенного метода sort().

    Для выполнения фактической сортировки можно использовать встроенный в JavaScript метод .sort(). Он выполняет сортировку массива без создания его копии и может принимать функцию сравнения в качестве аргумента. Эта функция сравнивает два элемента массива и должна возвращать положительное или отрицательное число в зависимости от того, какой элемент массива должен следовать раньше в отсортированном массиве.

    Для примера возьмем простой массив чисел:

  var arr = [52, 97, 3, 62, 10, 63, 64, 1, 9, 3, 4];

    Мы можем отсортировать этот массив, вызвав метод arr.sort(). В результате элементы массива будут упорядочены следующим образом:

  [1,  10, 3, 3, 4, 52, 62, 63, 64, 9, 97]

    Как видим, по умолчанию элементы массива сортируются в лексикографическом (алфавитном) порядке. Однако в данном случае предпочтительнее было бы отсортировать элементы в числовом порядке. Для этого мы можем передать методу .sort() функцию сравнения:

arr.sort(function(a,b) { 
  if (a < b) return -1; 
  if (a > b) return 1; 
  return 0;
});

    Эта функция возвращает отрицательное число, если первым должен следовать элемент а, положительное число, если первым должен следовать элемент b, и ноль, если порядок следования элементов не имеет значения. С помощью такой функции сравнения метод .sort() сможет расположить элементы в требуемом порядке:

  [1, 3, 3, 4, 9,  10, 52, 62, 63, 64, 97]

    На следующем шаге мы рассмотрим использование функции сравнения для сортировки строк таблицы.




Предыдущий шаг Содержание Следующий шаг