Cómo ordenar una matriz por valor de fecha en JavaScript

Descubra cómo ordenar una matriz de elementos por valor de fecha en JavaScript

Supongamos que tiene una matriz de objetos como esta, que contiene un conjunto deobjetos de fecha:

const activities = [
  { title: 'Hiking', date: new Date('2019-06-28') },
  { title: 'Shopping', date: new Date('2019-06-10') },
  { title: 'Trekking', date: new Date('2019-06-22') }
]

Desea ordenar esas actividades pordatepropiedad.

Puedes usar elsort()método deArray, que toma una función de devolución de llamada, que toma como parámetros 2 objetos contenidos en la matriz (que llamamosayb):

const sortedActivities = activities.sort((a, b) => b.date - a.date)

Cuando devolvemos un valor positivo, la función se comunica asort()que el objetobtiene prioridad en la clasificación sobre el objetoa. Devolver un valor negativo hará lo contrario.

lossort()El método devuelve una nueva matriz ordenada, pero también ordena la matriz original en su lugar. Por lo tanto, tanto elsortedActivitiesyactivitieslas matrices ahora están ordenadas. Una opción para proteger la matriz original para que no se modifique es utilizar elslice()método para crear una copia de la matriz antes de ordenar, de la siguiente manera:

const sortedActivities = activities.slice().sort((a, b) => b.date - a.date)

Más tutoriales de js: