JavaScript sort()
Пример
Сортировка массива:
var fruits = ["Банан", "Апельсин", "Яблоко", "Манго"];
fruits.sort();
Попробуйте сами »
Больше примеров "Попробуйте сами" ниже.
Определение и использование
Метод sort() сортирует элементы массива.
Порядок сортировки может быть как алфавитным, так и числовым, а также по возрастанию (вверх) или по убыванию (вниз).
По умолчанию метод sort() сортирует значения в виде строк в алфавитном и возрастающем порядке.
Это хорошо работает для струн ("Яблоко" идет перед "Банан"). Однако, если числа отсортированы как строки, "25" больше, чем "100", потому что "2" больше, чем "1".
Из-за этого метод sort() выдаст неверный результат при сортировке чисел.
Вы можете исправить это, предоставив "функцию сравнения" (см. "Значения параметра ниже).
Примечание: Этот метод изменяет исходный массив.
Поддержка браузера
Цифры в таблице указывают первую версию браузера, которая полностью поддерживает этот метод.
Метод | |||||
---|---|---|---|---|---|
sort() | Да | Да | Да | Да | Да |
Синтаксис
array.sort(compareFunction)
Значения параметров
Параметр | Описание |
---|---|
compareFunction |
Необязательный. Функция, определяющая альтернативный порядок сортировки. Функция должна возвращать отрицательное, нулевое или положительное значение, в зависимости от аргументов, например:
Когда метод sort() сравнивает два значения, он отправляет их в функцию compare и сортирует значения в соответствии с возвращаемым (отрицательным, нулевым, положительным) значением. Пример: При сравнении 40 и 100 метод sort() вызывает функцию compare(40,100). Функция вычисляет 40-100 и возвращает -60 (отрицательное значение). |
Технические детали
Возвращаемое значение: | Объект массива с отсортированными элементами |
---|---|
Версия JavaScript: | ECMAScript 1 |
Еще примеры
Пример
Сортировка чисел в массиве в порядке возрастания:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
Попробуйте сами »
Пример
Сортировка чисел в массиве в порядке убывания:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
Попробуйте сами »
Пример
Получить наибольшее значение в массиве:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a}); // Сортировка чисел в массиве в порядке убывания
// Первый элемент в массиве (points[0]) теперь является самым высоким значением
Попробуйте сами »
Пример
Получить наименьшее значение в массиве:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b}); // Сортировка чисел в массиве в порядке возрастания
// Первый элемент в массиве (points[0]) теперь является самым низким значением
Попробуйте сами »
Пример
Отсортируйте массив по алфавиту, а затем измените порядок отсортированных элементов в обратном порядке (по убыванию):
var fruits = ["Банан", "Апельсин", "Яблоко", "Манго"];
fruits.sort();
fruits.reverse();
Попробуйте сами »
Связанные страницы
JavaScript учебник: JavaScript Массивы
JavaScript учебник: JavaScript Сортировка массивов
JavaScript справочник: JavaScript reverse() Метод