See what was invented:
var dates = [{'time': "2016-01-01T12:10", 'value': 2000}, {'time': "2016-01-01T12:30", 'value': 2000}, {'time': "2016-01-01T13:10", 'value': 2000}, {'time': "2016-01-02T13:00", 'value': 1200},, {'time':"2016-02-02T15:00", 'value': 1000}, {'time':"2016-02-12T14:00", 'value': 550}]; function calc(dates) { var responses = {}; dates.forEach(function(d, i){ var date = new Date(d.time); var day = date.getDate(); var hour = date.getHours(); var key = `${date.getHours()}-${date.getDate()}`; var optionsHours = { hour: 'numeric', minute: 'numeric' }; var optionsDay = { year: 'numeric', month: 'long', day: 'numeric' }; var response = responses[key]; if (!response) { response = responses[key] = []; } response.push( { 'day': date.toLocaleString( "en-US", optionsDay), 'hours': date.toLocaleString( "en-US", optionsHours), 'value': d } ); }); console.log(responses); return responses; } calc(dates);
I hope that it is useful to someone else.
Jsfiddle demo
Jsfiddle demo2