根据日期创建部分

时间:2019-10-12 18:29:01

标签: reactjs

我有一个数组,必须根据日期创建部分。因此,包含一个日期的数组中的所有元素都应在一个部分中列出。这里的flags是包含时间戳记The end result should look like this的排序数组 这是到目前为止我得到的:

<Row gutter={20}>
{flags.map((flag, i) => {
    return 
      <div>
      <Row gutter={20}>
      {flags.map((flag, i) => {
        return(
          <div>
           {flags[i-1] && (moment(flags[i].timestamp).format('DD')!== moment(flags[i-1].timestamp).format('DD')) ? <Timestamp> {moment(flags[i].timestamp).format('DD')}</Timestamp> : <div><FlagComponent loading={loading} flag={flag} /> </div> }
        </div>
       ); })
      }
      </Row>
    </div>
}
</Row>

1 个答案:

答案 0 :(得分:1)

我找到了解决方案,就像在这里共享它一样,基本上我创建了所有组都具有相同时间戳并只是通过它映射的组:

const groups = flags.reduce((groups, flag) => {
    const flagDate = flag.timestamp
    if (!groups) {
      groups= [];
    }
    groups.push(flag);
    return groups;
  }, {});

  const groupArrays = Object.keys(groups).map(flagDate => {
    return {
      flagDate,
      flags: groups[flagDate]
    };
  });

所以groupArrays包含一个特定日期的元素数组