English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Метод sort() для массива JavaScript

 Объект массива JavaScript

sort()Метод сортирует элементы массива (на основе первого символа) и возвращает массив.

По умолчанию:sort()Метод сортирует значения в порядке возрастания/алфавитного порядка.

Это относится к строкам ('December' предшествует 'February').

Но если числа сортируются как строки, то '35' больше '150', потому что '3' больше '1'.

Но вы можете изменить алгоритм сортировки, предоставив функцию 'compare'.

Внимание: Метод sort() изменяет исходный массив.

Грамматика:

array.sort(compareFunction)
var months = ['March', 'Jan', 'Feb', 'Dec'];
months.sort();
Проверьте тест <</>>

Совместимость с браузерами

Числа в таблице указывают на первую версию браузера, которая полностью поддерживает метод sort():

Метод
sort()11ДаДа5.5

Значение параметра

ПараметрОписание
compareFunction(по умолчанию) Укажите функцию, определяющую порядок сортировки. Если пропущен, массив будет отсортирован в алфавитном порядке.

Технические детали

Возвратное значение:Сортированный массив
Версия JavaScript:ECMAScript 1

Более примеров

Сортируйте числа в массиве в порядке возрастания:

var nums = [5, 1, 2, 7, 3, 6, 4];
nums.sort();
Проверьте тест <</>>

sort()По умолчанию массив чисел не сортируется по размеру. Напротив, он проверяет только первый символ числа:

var nums = [5, 1, 2, 17, 13, 6, 34];
nums.sort();
Проверьте тест <</>>

Чтобы правильно сортировать числа, вы можете создать функцию сравнения в качестве параметра:

var nums = [5, 1, 2, 17, 13, 6, 34];
nums.sort(function(a, b) {return a - b});
Проверьте тест <</>>

Сортируйте числа в массиве по убыванию:

var nums = [5, 1, 2, 17, 13, 6, 34];
nums.sort(function(a, b) {return b - a});
Проверьте тест <</>>

Получите минимальное и максимальное значения массива:

function myFunc() {
var nums = [5, 1, 2, 7, 3, 6, 4];
nums.sort(); // Сортировка массива
var low = nums[0]; // Минимальное значение по первому индексу
var high = nums[nums.length-1]; // Максимальное значение по последнему индексу
}
Проверьте тест <</>>

 Объект массива JavaScript