【问题标题】:Javascript - Sort array by date and alphabetically in the same time [duplicate]Javascript - 同时按日期和字母顺序对数组进行排序[重复]
【发布时间】:2014-12-13 04:07:43
【问题描述】:

我有一个包含标题和日期的对象数组。

[{
   title: 'Some title'
   date: '12.00 PM 17/10/2014'
},
...
]

我需要同时按日期和字母顺序对这些值进行排序,结果应如下所示:

1.00 PM - Btitle
1.00 PM - Bztitle
1.00 PM - Ctitle
3.00 PM - Atitle
3.00 PM - Btitle

我应该创建额外的数组来记住状态等吗?或者也许可以在单个 sort 方法中执行。

【问题讨论】:

  • 你可以访问 moment.js 吗?
  • 提示:如果你能从date/time 中得到YYYY/MM/DD HH:mm:ss 格式的string 并将它与title 连接起来,那么你可以通过这个合并数据。
  • 现在在Meta讨论。

标签: javascript arrays sorting date alphabetical


【解决方案1】:

您可以在单个 sort 方法中完成此操作。它的骨头是:

yourArray.sort(function(a, b) {
    var adate = /* ...parse the date in a.date... */,
        bdate = /* ...parse the date in b.date... */,
        rv = adate - bdate;
    if (rv === 0) {
        rv = a.title.localeCompare(b.title);
    }
    return rv;
});

我会将这种奇怪的日期格式的解析留给读者作为练习......

【讨论】:

    猜你喜欢
    • 2021-11-24
    • 2011-10-06
    • 2013-11-02
    • 2014-05-14
    • 2018-12-03
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    相关资源
    最近更新 更多