簡體   English   中英

根據日期對事件進行排序的最佳方法是什么

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM