当前位置: 首页 > 面试题库 >

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

杨波娃
2023-03-14
问题内容

我有一个带有几个键值对的对象数组,我需要根据’updated_at’对它们进行排序:

[
    {
        "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"
    }
]

这样做最有效的方法是什么?


问题答案:

您可以使用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);


 类似资料:
  • 问题内容: 我有一个包含一个称为的对象的数组,它具有诸如“日期”,“名称”等属性。 我正在对数组进行排序,如下所示: 应该将日期从新到旧排序。例如: 2016年6月30日 2016年6月29日 等等.. 但是,当我的数组包含“ 2016年7月2日”时,排序后的数组将变为: 2016年6月30日 2016年6月29日 2016年7月2日 排序后,“ 2016年7月2日”应该位于顶部,而现在位于底部?

  • 问题内容: 我有一个json数组,我尝试 按日期对它 进行 排序, 然后再附加它。 该数组如下所示: 目前, 我已经设法对 日期 数组 进行了如下 排序 : 这给了我: 但 我不确定如何对 包含多个键 的复杂数组执行相同的操作 。我知道 我应该先将日期格式设置为YYYY-MM-DD, 但之后会有点混乱。 一个良好的开端将是我目前在jsbin上找到的内容:http ://jsbin.com/ipat

  • 问题内容: 我已经使用AJAX获得了以下对象并将它们存储在数组中: 如何仅使用JavaScript 创建一个函数以按属性 升序 或 降序 对对象进行排序? 问题答案: 按价格升序对房屋进行排序: 或在ES6版本之后:

  • 问题内容: 如何按其字段之一(例如或)对对象数组进行排序? 问题答案: 使用usort,这是从手册改编而成的示例: 您还可以将任何callable用作第二个参数。这里有些例子: 使用匿名函数(来自PHP 5.3) 从班级内部 使用箭头函数(来自PHP 7.4) 另外,如果要比较数字值,则应使用“比较”功能。

  • 举个例子 那么,如何按日期对该数组进行排序? 这只是一个小例子,但它就像数组中的1000个对象。我在互联网上搜索并找到了一些使用函数的示例,但它在我的大数组中不起作用。

  • 问题内容: 我发现的每个示例都是按字母顺序进行的,而我需要按日期对元素进行排序。 我的ArrayList包含其数据成员之一是DateTime对象的对象。在DateTime上,我可以调用以下函数: 因此,我可以做一些比较: 我应该在if块内做什么? 问题答案: 你可以使对象具有可比性: 然后通过调用以下命令对其进行排序: 但是,有时你不想更改模型,例如想要对几个不同的属性进行排序时。在这种情况下,你