如何在JavaScript中按日期值對數組排序

了解如何在JavaScript中按日期值對項目數組進行排序

假設您有一個像這樣的對像數組,其中包含一組日期對象

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

您想按date財產。

您可以使用sort()的方法Array,它帶有一個回調函數,該函數將數組中包含的2個對像作為參數(我們稱之為ab):

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

當我們返回一個正值時,該函數將與sort()該對象b優先於對象排序a。返回負值將執行相反的操作。

sort()方法返回一個新的已排序數組,但它還會對原始數組進行排序。因此,sortedActivitiesactivities數組現在已排序。保護原始陣列不被修改的一種方法是使用slice()在排序之前創建數組副本的方法,如下所示:

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

免費下載我的JavaScript初學者手冊


更多js教程: