Javascript 按日期和时间同时排序数组?
我正在建立日程安排应用程序,所以我需要按日期和时间在同一时间排序项目。正如您在示例中看到的,我只能过滤小时和分钟,这很有效,但我也需要过滤日期 我在数据库中存储日期,如YYYY-MM-DD,时间按小时和分钟,如字符串,例如:小时:08,分钟:25Javascript 按日期和时间同时排序数组?,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() });
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!!!