Что такое метод сортировки массива? Метод сортирует элементы массива на месте, например (1,2,3,4,5). Этот метод работает как с числами, так и со строками. Давайте посмотрим на его синтаксис.


Довольно просто, верно? Числа были отсортированы по цифрам и алфавиту. Как насчет этого?


Что здесь случилось? Они не в порядке. Отсортированные числа сначала превращаются в строки, и он сравнивает только первый индекс числа. Как это исправить? Метод sort на самом деле может использовать функцию сравнения, которая предотвратит превращение чисел в строки.



Первая сортировка показывает стрелочную функцию для одного вкладыша, а в строке 14 показано, как написать функцию сравнения для сортировки. Итак, давайте разберем, что здесь происходит. Мы даем сортировку «a» и «b», чтобы сравнить каждый элемент массива. Таким образом, 9 будет сравниваться с 11, а 11 будет сравниваться с 72 и так далее. Если для сортировки задана функция сравнения, ей будут заданы критерии сортировки. Поэтому, если значение больше 0, a будет отсортировано после b. Например, 56–3 больше 0, поэтому «а» в этом случае 56 будет стоять после b(3). Если бы мы хотели отсортировать от большего к меньшему, мы бы просто поменяли местами a и b.
Сортировка массива объектов
Что, если бы у нас был массив объектов, и мы хотели бы отсортировать их по цене?


Теперь, когда мы можем сравнивать каждый объект в массиве с a и b, мы можем просто вызывать a.value и b.value и сравнивать значения только с сортировкой. Как насчет сортировки имен в объекте?


Сначала мы помещаем a.name в переменную. Причина, по которой мы записываем имя в нижнем регистре, заключается в том, что сортировка будет сравнивать регистры. Прописные буквы будут отсортированы перед строчными. Затем мы сравниваем их с параметрами больше или меньше, и если истина, возвращаем отрицательное или положительное значение.
Давайте немного разберем это. Как строки «мышь» сравниваются с «зеброй»? Две строки сравниваются лексикографически. Итак, если бы А сравнивали с Z, это было бы истинным или ложным. Итак, если A ‹ Z верно, мы хотим вернуть -1. Что поместит его перед Z. Помните, как sort сортирует вещи в зависимости от того, было ли оно больше или меньше 0?

Поначалу метод сортировки может сбивать с толку, но при самостоятельной реализации его довольно легко понять. Когда я впервые столкнулся с ним как начинающий программист, я был довольно озадачен тем, почему он работает. Попробуйте проверить это на себе, и вы увидите, что это довольно просто. Удачного кодирования!