Как сортировать массив?

В JavaScript существует несколько методов для сортировки массивов. Рассмотрим основные из них.

1. Метод sort(): Этот метод сортирует элементы массива в алфавитном порядке (для строк) или в порядке возрастания (для чисел) по умолчанию. Он изменяет исходный массив, а также возвращает отсортированный массив.

Пример использования:

const arr = ['banana', 'apple', 'mango', 'cherry'];
arr.sort();
console.log(arr); // выводит: ['apple', 'banana', 'cherry', 'mango']

2. Метод reverse(): Данный метод меняет порядок элементов в массиве на обратный. То есть, если массив был отсортирован в порядке возрастания, после применения метода reverse() элементы будут располагаться в порядке убывания.

Пример использования:

const arr = ['apple', 'banana', 'cherry', 'mango'];
arr.sort();
arr.reverse();
console.log(arr); // выводит: ['mango', 'cherry', 'banana', 'apple']

3. Собственная функция сравнения: Метод sort() также позволяет передать собственную функцию сравнения, чтобы определить порядок сортировки.

Пример использования:

const arr = [15, 2, 9, 5, 12];
arr.sort((a, b) => a - b); // сортировка по возрастанию
console.log(arr); // выводит: [2, 5, 9, 12, 15]

arr.sort((a, b) => b - a); // сортировка по убыванию
console.log(arr); // выводит: [15, 12, 9, 5, 2]

4. Метод localeCompare(): Этот метод позволяет сортировать строки в соответствии с текущей локалью.

Пример использования:

const arr = ['собака', 'кошка', 'яблоко', 'банан'];
arr.sort((a, b) => a.localeCompare(b));
console.log(arr); // выводит: ['банан', 'кошка', 'собака', 'яблоко']

Учтите, что методы sort() и reverse() изменяют исходный массив. Если вы хотите сохранить исходный массив без изменений, можно сделать его копию и применить методы к ней.

Важно понимать, что методы сортировки JavaScript работают in-place, то есть изменяют исходный массив. Если вы хотите сохранить исходный массив неизменным, я рекомендую использовать метод slice(), чтобы создать его копию перед сортировкой.