Javascript 具有唯一日期时间字符串的数组?

Javascript 具有唯一日期时间字符串的数组?,javascript,typescript,Javascript,Typescript,我有Array,它包含n类型的对象 { name: 'random', startDate: '2017-11-10 09:00', endDate: '2017-11-23 11:00' } 我想要的是,在渲染结果以在新建数组中过滤此数组之前,您可以先使用以下方法: const日期=[{ 名称:“随机”, 开始日期:“2017-11-10 09:00”, 结束日期:“2017-11-23 11:00” }, { 名称:“随机”, 开始日期:“2017-11-10 09:00”,

我有
Array
,它包含
n
类型的对象

{
  name: 'random',
  startDate: '2017-11-10 09:00',
  endDate: '2017-11-23 11:00'
}
我想要的是,在渲染结果以在新建
数组中过滤此数组之前,您可以先使用以下方法:

const日期=[{
名称:“随机”,
开始日期:“2017-11-10 09:00”,
结束日期:“2017-11-23 11:00”
},
{
名称:“随机”,
开始日期:“2017-11-10 09:00”,
结束日期:“2017-11-23 11:00”
},
{
名称:“随机”,
开始日期:“2017-11-10 09:00”,
结束日期:“2017-11-23 11:00”
},
{
名称:“随机”,
开始日期:“2017-08-12 09:00”,
结束日期:“2017-11-23 11:00”
}
];
const hash=dates.reduce((a,c)=>(a[c.startDate]=++a[c.startDate]| | 1,a),{});
const uniqueDates=Object.keys(hash.map)(k=>({startDate:k,counter:hash[k]}));
控制台日志(唯一日期)
.as控制台包装{最大高度:100%!重要;顶部:0;}
var日期列表=[{
名称:“foo”,
开始日期:“2017-11-10 09:00”,
结束日期:“2017-11-23 11:00”
}, {
名称:'酒吧',
开始日期:“2017-11-10 09:01”,
结束日期:“2017-11-23 11:00”
}, {
名称:“baz”,
开始日期:“2017-11-10 09:00”,
结束日期:“2017-11-24 10:00”
}, {
名称:'商业',
开始日期:“2017-11-10 09:01”,
结束日期:“2017-11-25 09:00”
}, {
姓名:“快”,
开始日期:“2017-11-10 09:00”,
结束日期:“2017-11-23 11:00”
}, {
姓名:'布朗',
开始日期:“2017-12-10 09:00”,
结束日期:“2017-11-23 11:00”
}, {
名字:“狐狸”,
开始日期:“2017-12-10 10:00”,
结束日期:“2017-11-23 11:00”
}];
var startDateCountList=dateList.reduce(函数(收集器,dateItem){
变量
startDate=dateItem.startDate,
dateCount=collector.registry[startDate];
如果(!dateCount){
dateCount=collector.registry[startDate]={
startDate:dateItem.startDate,
计数:0
};
收集器.list.push(日期计数);
}
dateCount.count+=1;
回程收集器;
}, {
注册表:{},
名单:[]
}).名单;
log('startDateCountList:',startDateCountList)

。作为控制台包装{最大高度:100%!重要;顶部:0;}
是否有角度?你有Lodash吗?好吧,如果仔细阅读OP的问题,并用标记Q为“重复”的链接答案对其进行反省,on清楚地看到那里的方法都不起作用,由于OP要求提供计数器项目列表,因此每个项目都包含原始提供的日期列表中唯一的开始日期,以及原始列表中唯一的开始日期的总计数。因此,请将此Q从“复制”中取消标记,除非社区提供了一个新的“复制”链接来解决OP的问题。@PeterSeliger我已投票重新打开该问题。。我完全同意你的看法。。谢谢你的评论