В метод сортировки используется для размещения различных элементов в массиве в определенном порядке.
Синтаксис
Общий синтаксис метода сортировки:
множество.Сортировать();Этот метод по умолчанию возвращает отсортированный массив в порядке возрастания.
Мы обсудим пару примеров, чтобы понять метод сортировки в JavaScript.
Примеры
Мы предполагаем массив строк, в котором у нас есть несколько разных названий операционных систем Linux.
let arr = ["Ubuntu", "Fedora", "CentOS", "Debian", "Kali Linux"]Теперь, если мы применим метод сортировки к этому массиву:
обр.Сортировать();Он обязательно отсортирует массив в алфавитном порядке. Мы видим результат на скриншоте ниже.
Но, если мы хотим получить строку в обратном / убывающем порядке. Мы можем применить встроенную обратную функцию Javascript к отсортированному массиву следующим образом:
var sortedArray = arr.Сортировать();sortedArray.обеспечить регресс();
Более короткий способ сделать обратное:
обр.Сортировать().обеспечить регресс();Хорошо! Он отлично работал для строки. Попробуем, работает ли это и с числами.
Итак, сначала предположим массив чисел.
Затем примените метод сортировки к массиву чисел.
обр.Сортировать();Похоже, это не сработало, как для строки. Поскольку метод сортировки сначала преобразует числа в строки, а затем сортирует на основе Unicode. Хотя «8» идет перед «14» в порядке номеров. Но в порядке кодовых единиц UTF-16 «14» стоит перед «8». Хорошая вещь в Javascript, у нас есть решение для этого.
Сравнить
А вот концепция функции сравнения, которая помогает сортировать числа. Мы можем использовать функцию сравнения с методом сортировки как функцию обратного вызова, которая принимает два элемента. Затем он сортирует их в соответствии с нашими требованиями в функции сравнения и возвращает их методу сортировки, непрерывно делая это, пока не достигнет конца массива.
Синтаксис метода сортировки с функцией compareFunction будет таким:
множество.сортировка (compareFunction);Теперь, если мы посмотрим на технические детали функции compareFunction, вот как она на самом деле работает. Если мы не предоставим функцию compareFunction для метода сортировки, он будет сортировать в соответствии с порядком единиц кода UTF-16. Если мы используем функцию compareFunction, все элементы будут отсортированы в соответствии с возвращаемым значением функции compareFunction. Итак, если мы хотим написать функцию сравнения чисел. Это будет примерно так:
function (a, b) return a - bCompareFunction принимает два значения за раз и возвращает три типа значений.
Истина или «1», если первое значение предшествует второму или первое значение больше второго:
Ложь или «-1», если первое значение идет после второго значения или первое значение больше второго.
И «0», если два значения равны.
Теперь, если мы попытаемся применить его для сортировки массива чисел. Мы можем применить это так:
обр.sort (function (a, b) return a - b)Как видно из вывода, массив с числами отсортирован прилично.
Более короткий способ выполнить ту же задачу будет таким:
обр.sort ((a, b) => a - b)Но это работает только для сравнения чисел.
Мы также можем использовать метод sort для сортировки массива объектов в зависимости от значений объекта, который мы хотим отсортировать в массиве объектов. Если предположить, что мы хотим отсортировать на основе количества пользователей массив объектов, каждый объект которого включает операционные системы Linux и количество их пользователей, то мы будем использовать следующее:
arr = [name: "Ubuntu", пользователей: 3000
имя: "Fedora", пользователей: 1500
имя: "CentOS", пользователи: 2000
имя: "Debian", пользователей: 5000
name: "Kali Linux", пользователей: 4000
]
Итак, чтобы отсортировать по пользователям. Функция сортировки будет такой:
обр.sort (() => вернуть.пользователи - b.users)Итак, это разные способы использования метода sort для сортировки массивов любого типа.
Заключение
В этой статье мы узнали, как можно отсортировать массивы разных типов с помощью встроенной функции сортировки Javascript. В этой статье очень просто, основательно и эффективно объясняется концепция функции сортировки от новичка до среднего уровня. Итак, продолжайте учиться, работать и получать опыт работы с Javascript с linuxhint.ком чтобы лучше понять это. Большое спасибо.