Cортировка по дню рождения от текущей даты js

const arr = [
    { birthday: "1993-04-24", id: 1 },
    { birthday: "1993-08-6", id: 2 },
    { birthday: "1993-11-24", id: 3 },
    { birthday: "1993-1-24", id: 4 }, 
    { birthday: "1993-01-01", id: 5 },
  ];

Как я могу отсортировать этот массив по элементу даты в порядке от даты, ближайшей к текущей дате и времени? Помогите. буду очень благодарен!

спасибо, но от текущей даты. сегодня 2022-09-30 тобишь что-ты получалось:

const arr = [ 
         { birthday: "1993-11-24", id: 3 }, 
         { birthday: "1993-01-01", id: 5 }, 
         { birthday: "1993-01-24", id: 1 }, 
         { birthday: "1993-04-24", id: 4 }, 
         { birthday: "1993-08-06", id: 2 }, 
    ];

Ответы (2 шт):

Автор решения: doox911

const arr = [
  { birthday: "1993-04-24", id: 1 },
  { birthday: "1993-08-06", id: 2 },
  { birthday: "1993-11-24", id: 3 },
  { birthday: "1993-01-24", id: 4 }, 
  { birthday: "1993-01-01", id: 5 },
];
  
arr.sort(function(a, b) {
  return new Date(b.birthday) - new Date(a.birthday);
});

console.log(arr.map(i => i.birthday));

arr.sort(function(a, b) {
  return new Date(a.birthday) - new Date(b.birthday);
});

console.log(arr.map(i => i.birthday));

Так же гуглится за 5 секунд:

https://stackoverflow.com/questions/10123953/how-to-sort-an-object-array-by-date-property

https://stackoverflow.com/questions/52287060/how-to-sort-array-by-date-in-javascript

Вот на местном:

Как сделать сортировку массива по дате?

Не могу корректно отсортировать дату в массиве JS

Как работает функция sort с датой?

→ Ссылка
Автор решения: iqvver

У меня сработало вот так:

const arr = [
  { birthday: "1993-04-24", id: 1 },
  { birthday: "1993-08-06", id: 2 },
  { birthday: "1993-11-24", id: 3 },
  { birthday: "1993-01-24", id: 4 }, 
  { birthday: "1993-01-01", id: 5 },
];

const dateToYMD = (date) => {
    var d = date.getDate();
    var m = date.getMonth() + 1;
    return "" + (m <= 9 ? "0" + m : m) + "-" + (d <= 9 ? "0" + d : d);
  }

arr.sort((a, b) =>
            dateToYMD(new Date(a.birthday)) >
            dateToYMD(new Date(b.birthday)) >
            0
              ? 1
              : -1
          )
→ Ссылка