Как отсортировать массив состоящий из объектов, по дате?
const activities = [
{ title: 'Shopping', date:'10.06.2019' },
{ title: 'Trekking', date:'22.06.2019' },
{ title: 'Hiking', date:'28.06.2019' },
]
const sortedActivities = activities.sort((a: any, b: any) => {
let q: any = moment(a.date, ["MM-DD-YYYY", "DD-MM-YYYY"])
let p: any = moment(b.date, ["MM-DD-YYYY", "DD-MM-YYYY"])
let u: any = Date.parse(q["_d"]);
let m: any = Date.parse(p["_d"]);
console.log(u);
console.log(m);
return u - m;
})
console.log(sortedActivities);
Ответы (1 шт):
Автор решения: EzioMercer
→ Ссылка
Можете так:
const activities = [{
title: 'Shopping',
date: '10.06.2019'
},
{
title: 'Trekking',
date: '22.06.2019'
},
{
title: 'Hiking',
date: '28.06.2019'
},
];
const getDate = (date) => {
const splitDate = date.split('.');
[splitDate[0], splitDate[1]] = [splitDate[1], splitDate[0]];
return new Date(splitDate.join('/'));
}
activities.sort((a, b) => {
const aDateTime = getDate(a.date).getTime();
const bDateTime = getDate(b.date).getTime();
return bDateTime - aDateTime;
});
console.log(activities);