Как отсортировать массив до датам?
let objects = [
{
id: 1,
displayName: 'Object John',
date: '10-12-2020',
enabled: true,
relation: null
},
{
id: 4,
displayName: 'Object Alex',
date: '12-12-2021',
enabled: false,
relation: null
},
id: 5,
displayName: 'Object Pooja',
date: '30-07-2019',
enabled: true,
relation: {
relationId: 4
}
}
Ответы (1 шт):
Автор решения: Alexander Chernin
→ Ссылка
Надо воспользоваться методом sort, внутри которого преобразовать строку с датой объекта к "правильному" формату:
let objects = [
...
];
// Парсим дату из date
function parseDate(value) {
const v = value.split('-');
// преобразуем к формату и создаем дату
return Date.parse(`${v[1]} ${v[0]}, ${v[2]}`);
}
objects.sort((o1, o2) => {
return parseDate(o1.date) - parseDate(o2.date);
});
console.log(objects);