Если вы имеете дело с массивами данных, то всегда лучше иметь данные в отсортированном виде. Метод JavaScript sort() сортирует элементы в массиве в алфавитном или числовом порядке.

const cars = ['BMW', 'Jaguar', 'Audi', 'Tesla', 'Ferrari']; 
console.log(cars.sort()); 
// ["Audi", "BMW", "Ferrari", "Jaguar", "Tesla"]

Метод sort() выполняет сортировку по умолчанию на основе алфавитного или числового порядка.

Для чисел метод sort() сортирует значения как строки. Если числа отсортированы как строки, это приведет к неверным результатам, например, «8» больше, чем «55», поскольку «8» больше, чем «5», а «-52» больше, чем «-206» как «5». больше, чем «2».

const numbers = [50, -22, 8, -12, 30];
numbers.sort(); 
console.log(numbers); // [-12, -22, 30, 50, 8]

Здесь вы можете видеть, что «-22» больше, чем «-12», так как «2» больше, чем «1», а «8» больше, чем «50», так как «8» больше, чем «5», и, таким образом, все являются неверными результатами. Вскоре мы увидим, как исправить эту проблему сортировки и предоставить правильные результаты.

Иногда нам может понадобиться отсортировать массив по какому-то параметру или какому-то условию. Метод sort() массива принимает функцию обратного вызова, называемую функция сравнения, где вы можете определить свою логику сравнения.

Функция сравнения принимает два параметра и выполняет функцию сравнения для каждых двух элементов в массиве. Вы можете использовать эти два элемента и провести сравнение. Функция сравнения возвращает три возможных значения, то есть положительное, нулевое или отрицательное.

  • Если функция сравнения возвращает отрицательное значение, первый элемент меньше второго.
  • Если он возвращает ноль, оба элемента равны.
  • Если он возвращает положительное значение, первый элемент больше второго.
const numbers = [50, -22, 8, -12, 30]; 
numbers.sort((item1, item2) => { 
    return item1 > item2 ? 1 : -1; 
}); 
console.log(numbers); // [-22, -12, 8, 30, 50]

Сортировка массива, содержащего объекты

const students = [ 
  {name: 'Amitav', id: 32}, 
  {name: 'Ranjit', id: 19}, 
  {name: 'Rohit', id: 43}, 
  {name: 'Suraj', id: 15} 
]; 
students.sort((obj1, obj2) => { 
    return obj1.id > obj2.id ? 1 : -1; 
}); 
console.log(students);

Вывод:

[ 
  {name: 'Suraj', id: 15}, 
  {name: 'Ranjit', id: 19}, 
  {name: 'Amitav', id: 32}, 
  {name: 'Rohit', id: 43}, 
]

Теперь вы можете определить свой собственный метод сортировки на основе объекта, который вы хотите отсортировать.

Связанный

6 способов добавления элементов в массив
5 способов удаления элементов из массива
6 способов поиска элементов в массиве

Спасибо, что уделили время☺️
Другие блоги по веб-разработке можно найти на jscurious.com.