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>
.