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

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

数组对象按日期排序 - JavaScript

当我们处理一些跟时间有关的数据时,通常会用到日期排序。在 JavaScript 中,可以用 sort() 方法来对数组进行排序。但是当数组中的元素是对象时,排序就需要一些额外的处理。

下面是一个示例数组:

const data = [
  { name: "John", date: new Date("2021-03-12") },
  { name: "Bob", date: new Date("2021-03-10") },
  { name: "Mary", date: new Date("2021-03-14") },
  { name: "Alice", date: new Date("2021-03-11") },
];

我们想要按日期对数组进行排序,可以使用以下代码:

data.sort((a, b) => a.date - b.date);

这里使用了箭头函数作为 sort() 方法的参数,它返回两个元素进行比较的结果。a.dateb.date 是两个对象的日期属性,用 - 运算符计算它们的时间戳差值。如果结果为负数,则 a 在前面,否则 b 在前面。

现在,data 数组已经按日期从小到大排序了:

[
  { name: "Bob", date: "2021-03-10T00:00:00.000Z" },
  { name: "Alice", date: "2021-03-11T00:00:00.000Z" },
  { name: "John", date: "2021-03-12T00:00:00.000Z" },
  { name: "Mary", date: "2021-03-14T00:00:00.000Z" },
]

如果想要按日期从大到小排序,可以将 ab 对调:

data.sort((a, b) => b.date - a.date);

以上就是 JavaScript 中数组对象按日期排序的方法。