сортировать():

Метод sort() сортирует элементы массива и возвращает отсортированный массив. Порядок сортировки по умолчанию — восходящий, основанный на объединении элементов в строки, а затем сравнении их последовательности значений кодовых единиц UTF-16. Порядок sort() может быть либо буквенным, либо числовым, либо по возрастанию, либо по убыванию. По умолчанию метод sort() сортирует значения в виде строк в алфавитном порядке и в порядке возрастания. Это хорошо работает для строковых массивов, но с числами учитывается только первое число.

Синтаксис:array.sort(compareFunction);

Метод sort() имеет функцию сравнения, которая является необязательной.

compareFunction:эта функция определяет альтернативный порядок сортировки. Эта функция должна возвращать отрицательное/нулевое/положительное значение в зависимости от аргументов.

Примеры:

// Sorting Arrays
// Strings
const owners = ['Thilip', 'Daniel', 'Udhaya', 'Sai', 'Sheik'];
owners.sort();
console.log(owners);

В приведенном выше примере массив owners отсортирован в алфавитном порядке.

const arr = [100, 499, 90, 56];
arr.sort();
console.log(arr);

В приведенном выше примере 100 меньше 499, 499 меньше 56, 56 меньше 90.т. е. 90 — это наибольшее число всех остальных чисел в заданных элементах массива. Это связано с тем, что учитывается только первое число, то есть100 меньше, потому что первое число равно 1, что меньше 4, 499 меньше, потому что первое число равно 4, что меньше 5, и так далее.

// Numbers

const arr = [200, 450, -400, 3000, -650, -130, 70, 1300];
arr.sort((a, b) => a - b);
console.log(arr);

// Descending
arr.sort((a, b) => b - a);
console.log(arr);

В приведенном выше примере, когда методы sort() вызывают функцию, мы сравниваем каждый массив элементов. Здесь функция сравнивает значения в массиве, значения 200 и 450, функция вычисляет их (a-b) т.е. (200–450) в порядке возрастания, что возвращает отрицательное значение (-250). Когда функция возвращает отрицательное значение, метод sort() будет считать, что 250 меньше 400. Точно так же функция сравнивает значения в массиве, значения равны 200 и 450, функция вычисляет их. (b-a) т.е.(450–200) для убывающего порядка, который возвращает положительное значение (250). Когда функция возвращает положительное значение, метод sort() будет считать, что 400 больше, чем 250.

Спасибо!!!

Хорошего дня!!!