我有一个数组,必须根据日期创建部分。因此,包含一个日期的数组中的所有元素都应在一个部分中列出。这里的flags
是包含时间戳记的排序数组
这是到目前为止我得到的:
<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>
答案 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
包含一个特定日期的元素数组