按最近日期对数组排序,如果同一天只允许一个日期

口服

我有一个日期数组,我想对其进行排序并仅获取最近的日期

["Mon Jul 16 2018 11:40:28 GMT+0200 (CEST)",
 "Fri Jul 13 2018 09:33:46 GMT+0200 (CEST)",
 "Fri Jul 13 2018 09:21:36 GMT+0200 (CEST)",
 "Fri Jul 13 2018 09:03:42 GMT+0200 (CEST)",
 "Fri Jul 13 2018 09:01:05 GMT+0200 (CEST)",
 "Fri Jul 13 2018 08:53:23 GMT+0200 (CEST)",
 "Fri Jul 13 2018 08:52:33 GMT+0200 (CEST)",
 "Thu Jul 12 2018 13:41:59 GMT+0200 (CEST)",
 "Thu Jul 12 2018 13:41:49 GMT+0200 (CEST)",
 "Thu Jul 12 2018 13:41:42 GMT+0200 (CEST)"]

日期是字符串,我设法对它们进行排序并得到我想要的,但是问题是我将它们作为对象而不是字符串

  datesFiltered = [];
const array = this.users.map(a => a.date)
      for (const date of array) {
          if (!this.datesFiltered.find(d => new Date(d).setHours(0, 0, 0)
            === new Date(dateString).setHours(0, 0, 0))) {
            this.datesFiltered.push(new Date(dateString))
          }
        }

结果:

    [
 Mon Jul 16 2018 15:32:50 GMT+0200 (Central European Summer Time),
 Fri Jul 13 2018 09:33:46 GMT+0200 (Central European Summer Time), 
 Thu Jul 12 2018 13:41:59 GMT+0200 (Central European Summer Time) 
    ]

代替 :

  [
     "Mon Jul 16 2018 11:40:28 GMT+0200 (CEST)",
     "Fri Jul 13 2018 09:33:46 GMT+0200 (CEST)" 
     "Thu Jul 12 2018 13:41:59 GMT+0200 (CEST)" 
        ]
尼基尔·阿格瓦尔(Nikhil Aggarwal)

您可以创建一个Set用于唯一日期的日期,并根据该日期过滤出Set使用中存在值的那些日期Array.filter

var array = ["Mon Jul 16 2018 11:40:28 GMT+0200 (CEST)","Fri Jul 13 2018 09:33:46 GMT+0200 (CEST)","Fri Jul 13 2018 09:21:36 GMT+0200 (CEST)","Fri Jul 13 2018 09:03:42 GMT+0200 (CEST)","Fri Jul 13 2018 09:01:05 GMT+0200 (CEST)","Fri Jul 13 2018 08:53:23 GMT+0200 (CEST)","Fri Jul 13 2018 08:52:33 GMT+0200 (CEST)","Thu Jul 12 2018 13:41:59 GMT+0200 (CEST)","Thu Jul 12 2018 13:41:49 GMT+0200 (CEST)","Thu Jul 12 2018 13:41:42 GMT+0200 (CEST)"];
 
 var set = new Set();
 var array = array.filter(a => {
  var d = new Date(a).setHours(0, 0, 0);
  if(set.has(d)) return false;
  else set.add(d);
  return true;
 });
 console.log(array);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

<=今天同一天的日期

日期选择器范围不允许退房日期为同一天

使日期从R中的同一天开始

Symfony搜索日期之间的同一天

如何判断两个日期是否在同一天?

如何在nodejs中的本地时间确定两个日期是同一天?

如何编写一个SQL语句以每两个相邻月的同一天按组对数据求和

年份,同一月和同一天的两个日期之间的差额

筛选日期,同一天的两个随机日期之间的间隔为1小时

C#-程序显示一个月中所有同一天的日期,用户输入

搜索日期列表并创建具有同一天的新日期列表

按最近日期对数据表进行排序

按每个组的最近日期获取第一个元素

每月日期的序列,以确保它是同一天,或者在无效的情况下是每月的最后一天

如何检查日期是否与datetime.today()在同一天?

无法计算同一天(但后来发生)发生的日期时间对象

使用Eonasdan datetimepicker无法选择minDate和maxDate在同一天的日期和小时

SQL Server 2008查询同一天的检查日期

如果不是在同一天,如何处理两个不同的时间?

单击日期名称,然后从Fullcalendar中选择一周中同一天的所有日期

如何按另一个表中某一列的最新最近日期对行进行分组?

选择具有最近日期的唯一值,按另一个值分组

如果一天早于一个月,如何转换 ISO 8601 日期?

按组合并另一个数据框中的最近日期和相关变量

根据一个月中的一天选择数据,“如果日期小于一个月中的一天”

匹配同一数据框中的最近日期

Java的8日期API - 年的周是同一天,但不同的时间不同

我如何计算 JavaScript 中的日期,以获得月份的同一天 + 某个月份(变量)

OSQL中的OrientDB日期操作以查找具有同一天但不同年份的节点的路径