如何在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教程: