首页 >web前端 >js教程 >如何通过单个日期键对对象数组进行排序?

如何通过单个日期键对对象数组进行排序?

DDD
DDD原创
2024-11-04 02:41:02566浏览

How to Sort an Array of Objects by a Single Date Key?

按单个日期键对对象数组进行排序

要按包含日期值的单个键对对象数组进行排序,最有效的方法是使用 Array.sort 方法。具体操作方法如下:

var arr = [{
    "updated_at": "2012-01-01T06:25:24Z",
    "foo": "bar"
  },
  {
    "updated_at": "2012-01-09T11:25:13Z",
    "foo": "bar"
  },
  {
    "updated_at": "2012-01-05T04:13:24Z",
    "foo": "bar"
  }
];

arr.sort(function(a, b) {
  var keyA = new Date(a.updated_at),
    keyB = new Date(b.updated_at);
  // Compare the 2 dates
  if (keyA < keyB) return -1;
  if (keyA > keyB) return 1;
  return 0;
});

console.log(arr);

在此示例中,我们有一个名为“arr”的对象数组,其中包含三个对象,每个对象都有一个包含日期值的“updated_at”键。

Array.sort 方法采用比较函数作为参数。在提供的比较函数中:

  1. 我们从每个对象中提取“updated_at”值作为 Date 对象。
  2. 我们比较两个 Date 对象。如果第一个早于第二个,我们返回 -1。如果晚了,我们返回 1。如果相等,我们返回 0。
  3. 此比较函数根据“updated_at”值对数组进行升序排序。

然后将排序后的数组记录到控制台,按时间顺序显示对象。

以上是如何通过单个日期键对对象数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn