Сортировка массива JavaScript()
Примеры
Сортировать массив:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
Отсортируйте, а затем в обратном порядке:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();
Определение и использование
Сортирует sort()
элементы массива.
sort()
перезаписывает исходный массив .
Сортирует sort()
элементы как строки в алфавитном и возрастающем порядке.
Смотрите также:
Функция сравнения сортировки
Алфавитная сортировка хорошо работает для строк ("Apple" предшествует "Banana").
Но сортировка чисел может привести к неправильным результатам.
«25» больше, чем «100», потому что «2» больше, чем «1».
Вы можете исправить это, предоставив «функцию сравнения» (см. примеры ниже).
Синтаксис
array.sort(compareFunction)
Параметры
Parameter | Description |
compareFunction |
Optional. A function that defines a sort order. The function should return a negative, zero, or positive value, depending on the arguments:
When sort() compares two values, it sends the values to the compare function, and sorts the values according to the returned (negative, zero, positive) value. Example: The sort function will sort 40 as a value lower than 100. When comparing 40 and 100, sort() calls the function(40,100). The function calculates 40-100, and returns -60 (a negative value). |
Возвращаемое значение
Массив с отсортированными элементами. |
Дополнительные примеры
Упорядочить числа в порядке возрастания:
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
Упорядочить числа в порядке убывания:
const points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
Найдите наименьшее значение:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in ascending order
points.sort(function(a, b){return a-b});
let lowest = points[0];
Найдите наибольшее значение:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in descending order:
points.sort(function(a, b){return b-a});
let lowest = points[0];
Найдите наибольшее значение:
const points = [40, 100, 1, 5, 25, 10];
// Sort the numbers in ascending order:
points.sort(function(a, b){return a-b});
let highest = points[points.length-1];
Поддержка браузера
sort()
является функцией ECMAScript1 (ES1).
ES1 (JavaScript 1997) полностью поддерживается во всех браузерах:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |