Array.sort()
Сортирует элементы массива
Спецификация: ECMAScript 1-е издание.Синтаксис
array.sort(compareFunction)
Параметры
- compareFunction
- Необязательный параметр.Имя функции, применяемой для определения порядка элементов.Если этот аргумент опущен, элементы сортируются по возрастанию в порядке сортировки символов ASCII.
Возвращаемое значение
Ссылка на массив. Обратите внимание: массив сортируется на месте, копия массива не делается.
Описание
Метод sort() сортирует элементы массива на месте без создания копии массива. Если sort() вызывается без аргументов, элементы массива располагаются в алфавитном порядке (точнее, на основе сравнения ASCII-кодов символов значений). Чтобы отсортировать массив, sort() вызывает функцию приведения типов String() для каждого элемента, а затем сравнивает возвращенные строки. Это происходит, даже если массив содержит только числа, например:
В этом примере метод sort() сортирует числа как строки. Поэтому строка "10" располагается в итоговом массиве раньше, чем "5", хотя число 10 больше. Во многих случаях требуется совсем не это, поэтому в метод sort() можно передать функцию сравнения (comparison function), которая упорядочивает два значения.
Функция сравнения должна принимать два аргумента a и b, и возвращать одно из следующих значений:
- Отрицательное число, если в соответствии с выбранным критерием сортировки значение a «меньше» значения b и должно находиться в отсортированном массиве перед b.
- Ноль, если a и b в смысле сортировки эквивалентны.
- Положительное число, если значение a «больше» значения b.
На заметку: Неопределенные элементы при сортировке всегда оказываются в конце массива. Это происходит, даже если указана специальная функция сортировки: неопределенные значения никогда не передаются в заданную функцию compareFunction.
Примеры
В следующем примере показано использование функции в качестве параметра метода sort(). Сортировка чисел в массиве осуществляется в порядке возрастания:
Сортировка чисел в массиве в порядке убывания:
Получение максимального значения в массиве:
Сортировка массив в алфавитном порядке, с последующим изменением порядка отсортированных элементов (по убыванию):
Поддержка браузерами
| Метод | |||||||
| sort | 1.0 | Да | Да | Да | 1.0 | 5.5 | Да |


Комментарии
<code>, несколько строчек кода — в теги<pre><code>...ваш код...</code></pre>.