📌  相关文章
📜  js 按日期排序对象数组 - Javascript (1)

📅  最后修改于: 2023-12-03 15:17:02.259000             🧑  作者: Mango

按日期排序对象数组 - Javascript

在开发过程中,经常会遇到需要对对象数组进行排序的情况。本文介绍如何使用 Javascript 对日期进行排序。

准备工作

首先,我们需要一个对象数组。为了方便演示,我们创建一个包含日期和一些其他属性的对象数组。

let items = [
  { date: new Date('2021-05-01'), name: 'A' },
  { date: new Date('2021-05-03'), name: 'B' },
  { date: new Date('2021-05-02'), name: 'C' },
];
使用 sort() 方法排序

Javascript 中的数组有一个 sort() 方法,可以用来排序。我们可以把对象数组按照日期排序,具体实现如下:

items.sort(function(a, b) {
  return a.date - b.date;
});

上述代码中,我们在 sort() 方法中传入一个比较函数。这个函数用来比较每个元素的日期属性。如果 a 的日期靠前,则返回一个负数;如果 b 的日期靠前,则返回一个正数;如果 a 和 b 的日期相等,则返回 0。

完整代码

下面是完整的代码,供参考。

let items = [
  { date: new Date('2021-05-01'), name: 'A' },
  { date: new Date('2021-05-03'), name: 'B' },
  { date: new Date('2021-05-02'), name: 'C' },
];

items.sort(function(a, b) {
  return a.date - b.date;
});

console.log(items);

输出结果如下:

[
  { "date": "2021-05-01T00:00:00.000Z", "name": "A" },
  { "date": "2021-05-02T00:00:00.000Z", "name": "C" },
  { "date": "2021-05-03T00:00:00.000Z", "name": "B" }
]
总结

本文介绍了如何使用 Javascript 对日期进行排序。使用 sort() 方法可以对对象数组进行排序,其中比较函数是自定义的。在实际开发中,按照数组的不同属性进行排序的方法也是类似的,只需要在比较函数中比较不同属性的值即可。