Javascript 按日期和时间同时排序数组?

Javascript 按日期和时间同时排序数组?,javascript,arrays,firebase,angular5,Javascript,Arrays,Firebase,Angular5,我正在建立日程安排应用程序,所以我需要按日期和时间在同一时间排序项目。正如您在示例中看到的,我只能过滤小时和分钟,这很有效,但我也需要过滤日期 我在数据库中存储日期,如YYYY-MM-DD,时间按小时和分钟,如字符串,例如:小时:08,分钟:25 this.ord3ref.on("child_added", data => { this.ord3.push({ key: data.key, data: data.val() });

我正在建立日程安排应用程序,所以我需要按日期和时间在同一时间排序项目。正如您在示例中看到的,我只能过滤小时和分钟,这很有效,但我也需要过滤日期

我在数据库中存储日期,如YYYY-MM-DD,时间按小时和分钟,如字符串,例如:小时:08,分钟:25

 this.ord3ref.on("child_added", data => {
      this.ord3.push({
        key: data.key,
        data: data.val()
      });
      this.ord3.sort(
        (a, b) => a.data.hours- b.data.hours || a.data.minuts- b.data.minuts
      );
    });


正如您在图像上看到的,它按小时和分钟对数组进行排序,但首先需要按日期排序,而不是按小时和分钟排序…

如果数据包含日期的键/值,则您应该能够用以下内容替换排序函数:

this.ord3.sort(
    (a, b) => {
        var dateA = new Date(a.data.date).valueOf();
        var dateB = new Date(b.data.date).valueOf();
        return a.data.hours - b.data.hours || a.data.minuts - b.data.minuts || dateA - dateB;
    }
);
javascript日期对象可以从YYYY-MM-DD格式的日期字符串创建


.valueOf方法返回UTC时间的毫秒数-请参见解释。

您能给出一个数据对象的示例吗?不确定我是否完全理解它的外观请创建一个。ord3是什么样子的?如果a.data和b.data都是日期对象,你可以做a.data>b.data,这可能有助于添加新的图像…大tnx。现在它按日期排序,比我同一天按小时和分钟排序,ty!!!