当前位置: 首页 > 知识库问答 >
问题:

Javascript中的排序日期

慕容昊焜
2023-03-14

我已经从ajax查询中检索到一个新闻提要。在该对象中,有以下格式的日期:

Wed, 22 May 2013 08:00:00 GMT

使现代化

使用这段代码它工作正常!

array.sort(function(a,b){
var c = new Date(a.date);
var d = new Date(b.date);
return c-d;
});

共有3个答案

上官凯泽
2023-03-14
sorting dates ascending or descending
times = ["01-09-2013", "01-09-2013", "27-08-2013", "27-08-2013", "28-08-2013", "28-08-2013", "28-08-2013", "28-08-2013", "29-08-2013", "29-08-2013", "30-08-2013", "30-08-2013", "31-08-2013", "31-08-2013"]
function dmyOrdA(a,b){ return myDate(a) - myDate(b);}
function dmyOrdD(a,b){ return myDate(b) - myDate(a);}
function myDate(s){var a=s.split(/-|\//); return new Date(a[2],a[1]-1,a[0]);}

times.sort(dmyOrdA);
console.log(times)
牟黎昕
2023-03-14

您也可以使用下划线/lodash排序

下面使用下划线js对日期进行排序:

 var log = [{date: '2016-01-16T05:23:38+00:00', other: 'sample'}, 
            {date: '2016-01-13T05:23:38+00:00',other: 'sample'}, 
            {date: '2016-01-15T11:23:38+00:00', other: 'sample'}];

  console.log(_.sortBy(log, 'date'));
  • http://underscorejs.org/#sortBy
  • https://lodash.com/docs#sortBy
齐昊焱
2023-03-14

1)无法对对象进行排序。对象键的顺序是任意的。

2) 如果要按日期对数组进行排序(它们已经是日期对象),请执行以下操作:

array.sort ( function (date1, date2){
     return date1 - date2
});

如果您首先需要将它们转换为日期对象,请执行以下操作(根据下面的评论遵循数据结构):

array.sort ( function (a, b){
       return new Date(a.pubDate) - new Date(b.pubDate);
});

示例

 类似资料:
  • 我试图排序我的对象数组,这些对象具有按日期最新的第一个和最新的最后一个日期值。 我有以下代码: 请注意,JS Date是新Date()接受的有效日期/格式。 我可以先订购最旧的,但不能先订购最新的,我尝试了以下方法: 当前我不能先按最新日期排序,它只能先按最早的日期排序。 谢啦

  • 我想按日期对对象数组进行排序,但问题是它们的日期是这种格式-。 这里是此数组中一个对象的示例 我必须按修改日期或创建日期对它们进行排序!

  • 我在使用JavaScript按降序排序日期和时间时遇到了一些问题。以下是一些输入: 我想按降序对它们进行排序,最新的一个将位于顶部,但我不确定如何进行排序。 所需输出: 如果结果来自同一日期,那么我会按照时间排序。否则,最新日期将在上面。有什么想法吗? 谢谢!

  • 本文向大家介绍JavaScript中的冒泡排序法,包括了JavaScript中的冒泡排序法的使用技巧和注意事项,需要的朋友参考一下 利用sort()冒泡排序: 不声明第三个变量冒泡排序: 第一层遍历数组的个数(要遍历多少次),第二次遍历(共要循环几次) 今天在网上看见这样一个冒号排序 一个数组包含元素号,“110金刚3号”,“200金刚1号”,“50金刚2号”,“30金刚6号”,“30金刚5号”,

  • 问题内容: 假设我有一些对象的数组: 如何从最接近当前日期和时间的日期开始按date元素对该数组进行排序?请记住,数组可能有许多对象,但是为了简单起见,我使用了2。 我会使用排序功能和自定义比较器吗? 更新: 在我的特定情况下,我希望将日期从最近到最早安排。最后,我不得不逆转简单函数的逻辑: 这会将最新日期排序。 问题答案: 最简单的答案 更通用的答案 或更简洁: 通用,有力的答案 在所有数组上使

  • 问题内容: 我想按日期订购。 例如 我已经尝试过: 伯,这是行不通的。 我得到这个代替: 你能帮我吗? 问题答案: 如果要按日期排序, 请将其存储为日期而不是字符串。 除非您的日期字符串的格式为,否则它不会按您希望的顺序排序。 数据库可以按原样进行足够的工作,而无需人们加倍努力,因此,您应该尽可能地避免我喜欢的 SQL体操。 将其存储为日期,然后(如果需要)使用日期函数以形式获取它。 这样会比您尝