[英]What would be the best way to sort events according to its date
我有几百个events
数组,其中每个events
都有日期条目(在DB中的Date().getTime
格式),并且我在简单表中显示了10 天。 对于每一天,我需要显示该特定日期的事件数量。 什么是最好的方法呢?
好的,这是更新:
我有这个结构的 Firebase 数据库:
{
events: {
event1: {
date: 144335265211,
title: "sometext",
text: "longer text"
},
event2: {
date: 1444482619766,
title: "sometext",
text: "longer text"
}
}
}
我将它拉到本地 Redux 存储中,所以我有一个具有相同结构的 JS 数组。
这样我就为特定的日子创建了表格:
for (let dc = 0; dc < 10; dc++) {
const date = new Date();
date.setDate(date.getDate() + dc);
const m = date.getMonth();
const d = date.getDay();
const y = date.getUTCFullYear();
rows.push(
<td>"On the " + m + "/" + d + "/" + y + " is SOMENUMBER events"</td>
);
return rows;
}
非常感谢!
首先,您需要将其转换为数组:
var events = Object.keys(obj).map((key) => {
return Object.assign({}, obj[key], {eventName: key});
});
然后你需要按日期对它们进行分组。 我们可以用 lodash 做到这一点。
var groupBy = require('lodash/collection/groupBy');
var eventsWithDay = events.map((event) => {
return Object.assign({}, event, {day: new Date(event.date).setHours(0, 0, 0, 0))
});
var byDay = groupBy(eventsWithDay, 'day');
而 byDay 将是一个对象,每个日期都有一个键,值是当天的一系列事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.