const arr = [
{ date: '230389' },
{ date: '230389' },
{ date: '230389' },
{ date: '240389' },
{ date: '240389' },
{ date: '250389' },
{ date: '250389' },
]
const currentDate = new Date('1989-03-24');
const res = arr.reduce((result, item) => {
const matches = item.date.match(/\d{2}/g).reverse()
const isoFormat = [`19${matches[0]}`, ...matches.slice(1)]
const date = new Date(isoFormat)
switch (currentDate.getDate() - date.getDate()) {
case 1:
result.yesterday.push(item)
break;
case 0:
result.today.push(item)
break;
case -1:
result.tomorrow.push(item)
break;
}
return result
}, {
yesterday: [],
today: [],
tomorrow: []
})
на скорую руку накидал, работает только с датами на 19.., но можно сделать чтобы и с 2000+ работало