# Sort

В JavaScript sort() - это метод, который используется для сортировки элементов в массиве. Он может сортировать элементы как в алфавитном, так и в числовом порядке, а также выполнять сортировку собственной функцией сравнения.

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

  • array: Это массив, который вы хотите отсортировать.
  • compareFunction (необязательный): Это функция сравнения, которая определяет порядок сортировки. Если этот параметр не указан, элементы массива сортируются как строки (по умолчанию).

# Примеры использования sort():

Сортировка чисел:

const oneDimensionalArray = [3, 1, 2, 5, 4];
oneDimensionalArray.sort((a, b) => a - b);
console.log(oneDimensionalArray); // Выведет: [1, 2, 3, 4, 5]
const twoDimensionalArray = [
  [110, 22],
  [5, 66],
  [34, 88],
  [57, 10],
  [61, 41],
];
twoDimensionalArray.sort(([a, b], [c, d]) => a - c);
console.log(twoDimensionalArray);
// Выведет: [[ 5, 66 ], [ 34, 88 ], [ 57, 10 ], [ 61, 41 ], [ 110, 22 ]]

Сортировка строк:

const fruits = ["date", "pear", "cherry", "apple"];
fruits.sort();
console.log(fruits); // Выведет: ['apple', 'cherry', 'date', 'pear']
const fruits = ["Яблоко", "Груша", "Вишня", "Апельсин"];
fruits.sort((a, b) => a.localeCompare(b));
console.log(fruits); // Выведет: ["Апельсин", "Вишня", "Груша", "Яблоко]

Собственная функция сравнения:

const items = [
  { name: "apple", price: 2 },
  { name: "banana", price: 1 },
  { name: "cherry", price: 3 },
];

items.sort((a, b) => a.price - b.price);
console.log(items);
// Выведет: [{name: 'banana', price: 1}, {name: 'apple', price: 2},
// {name: 'cherry', price: 3}]

Обратите внимание, что метод sort() изменяет исходный массив. Если вам необходимо сохранить исходный порядок элементов, лучше создайте копию массива перед сортировкой.

Например:

const sortAnimal = (names) => [...names].sort((a, b) => a.localeCompare(b));

console.log(sortAnimal(["Mikel", "Jhon", "Sarah"]));
// Выведет новый массив: ['Jhon', 'Mikel', 'Sarah']