Skip to content

Latest commit

 

History

History
43 lines (34 loc) · 2.48 KB

sort-an-array-of-objects-in-javascript-by-date.md

File metadata and controls

43 lines (34 loc) · 2.48 KB
title layout categories pubDate description keywords
Сортировка массива объектов в JavaScript по дате
../../layouts/ArticleEntry.astro
javascript
2024-03-21
Сортировка массива объектов в JavaScript по дате
javascript, date, sort

Для сортировки массива объектов в JavaScript по дате можно использовать метод sort() массивов в сочетании с функцией сравнения.

Давайте рассмотрим пример:

Предположим, у вас есть массив объектов, каждый из которых содержит свойство date, представляющее дату в формате JavaScript:

let data = [
    { name: 'Объект 1', date: new Date('2023-01-15') },
    { name: 'Объект 2', date: new Date('2022-12-20') },
    { name: 'Объект 3', date: new Date('2023-05-10') }
];

Теперь давайте отсортируем этот массив по дате. Для этого мы используем метод sort() и функцию сравнения. Функция сравнения должна принимать два параметра и возвращать число, которое показывает, как должны быть упорядочены эти два элемента:

data.sort((a, b) => {
    return a.date - b.date;
});

В этой функции сравнения a и b - это два объекта из массива. Мы сравниваем их свойства date. Если a.date меньше, чем b.date, то возвращается отрицательное число, что указывает на то, что a должно быть перед b в отсортированном массиве. Если a.date больше, чем b.date, то возвращается положительное число, и если они равны, то возвращается 0.

После выполнения этого кода массив data будет отсортирован по возрастанию даты.

console.log(data);
// [
//     { name: 'Объект 2', date: 2022-12-20T00:00:00.000Z },
//     { name: 'Объект 1', date: 2023-01-15T00:00:00.000Z },
//     { name: 'Объект 3', date: 2023-05-10T00:00:00.000Z }
// ]