sort()
Сортировка массива:
var colors = ["Yellow", "Pink", "Blue", "Red", "Green", "Brown"]; colors.sort(); // Blue, Green, Pink, Red, Yellow
Определение и использование
Метод sort() сортирует элементы массива.
Порядок сортировки может быть буквенный, числовой, в порядке возрастания, или в порядке убывания.
По умолчанию метод sort() сортирует значения в виде строк в алфавитном порядке возрастания.
Это хорошо работает для строк ( «Blue» предшествует «Green»). Однако, если число сортируются как строки, «25» больше, чем «100», потому что «2» больше, чем «1».
Из-за этого, метод sort() будет производить неправильный результат при сортировке чисел.
Можно исправить это, применяя функцию compareFunction для определения порядка элементов.
Примечание: Этот метод изменяет исходный массив.
Поддержка браузеров
Синтаксис
array.sort(compareFunction)
Значения параметров
Параметр | Описание |
compareFunction
| Необязательный. Функция, которая определяет альтернативный порядок сортировки. Функция должна возвращать отрицательное, ноль или положительное значение в зависимости от аргументов, например: function(a, b){return a-b} Когда метод sort () сравнивает два значения, он отправляет значения в compareFunction и сортирует значения в соответствии с возвращаемым (отрицательным, нулевым, положительным) значением. |
Технические подробности
Возвращаемое значение: | Массив с отсортированными элементами |
Версия JavaScript: | ECMAScript 1 |
Дополнительные примеры
Сортировка чисел в массиве в порядке возрастания:
var items = [30, 100, 1, 5, 27, 10]; items.sort(function(a, b){return a-b}); // 1,5,10,27,30,100
Сортировка чисел в массиве в порядке убывания:
var items = [30, 100, 1, 5, 27, 10]; items.sort(function(a, b){return b-a}); // 100,30,27,10,5,1