var dateList = [{
name: 'foo',
startDate: '2017-11-10 09:00',
endDate: '2017-11-23 11:00'
}, {
name: 'bar',
startDate: '2017-11-10 09:01',
endDate: '2017-11-23 11:00'
}, {
name: 'baz',
startDate: '2017-11-10 09:00',
endDate: '2017-11-24 10:00'
}, {
name: 'biz',
startDate: '2017-11-10 09:01',
endDate: '2017-11-25 09:00'
}, {
name: 'quick',
startDate: '2017-11-10 09:00',
endDate: '2017-11-23 11:00'
}, {
name: 'brown',
startDate: '2017-12-10 09:00',
endDate: '2017-11-23 11:00'
}, {
name: 'fox',
startDate: '2017-12-10 10:00',
endDate: '2017-11-23 11:00'
}];
var startDateCountList = dateList.reduce(function (collector, dateItem) {
var
startDate = dateItem.startDate,
dateCount = collector.registry[startDate];
if (!dateCount) {
dateCount = collector.registry[startDate] = {
startDate : dateItem.startDate,
count : 0
};
collector.list.push(dateCount);
}
dateCount.count += 1;
return collector;
}, {
registry: {},
list: []
}).list;
console.log('startDateCountList : ', startDateCountList);
.as-console-wrapper { max-height: 100%!important; top: 0; }
ですか?あなたはロダシュですか? – Dmitry
さて、OPの質問を慎重に読んで、Qを「重複」とマークしてリンクされた回答をチェックすると、そこにはアプローチがないことがはっきりとわかります.OPはカウンタ項目のリスト最初に提供された日付リストからユニークな開始日を保持するが、この元のリストからユニークな開始日の合計数も保持する。したがって、ここで問題のOPを解決する*コミュニティ*によって提供される新しい "重複"リンクがないかぎり、このQを「重複」から外してください。 –
@PeterSeliger私は質問を再開することに投票しました..私はあなたに完全に同意しています..コメントありがとう –