Comment trier un tableau par valeur de date en JavaScript

Découvrez comment trier un tableau d'éléments par valeur de date dans JavaScript

Supposons que vous ayez un tableau d'objets comme celui-ci, qui contient un ensemble deobjets de date:

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') }
]

Vous souhaitez trier ces activités pardatebiens.

Vous pouvez utiliser lesort()méthode deArray, qui prend une fonction de rappel, qui prend comme paramètres 2 objets contenus dans le tableau (que nous appelonsaetb):

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

Lorsque nous retournons une valeur positive, la fonction communique àsort()que l'objetba priorité dans le tri sur l'objeta. Renvoyer une valeur négative fera le contraire.

Lesort()La méthode renvoie un nouveau tableau trié, mais elle trie également le tableau d'origine sur place. Ainsi, à la fois lesortedActivitiesetactivitiesles tableaux sont maintenant triés. Une option pour protéger la baie d'origine contre la modification consiste à utiliser leslice()méthode pour créer une copie du tableau avant le tri, comme suit:

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

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: