Last 4 weeks / last 30 days
// create array of last 4 weeks
var weeks = [];
var now = new Date();
now.setTime(now.getTime() - (24 * 60 * 60 * 1000) * 7);
for ( var x = 0; x < 4; x++) {
var obj = {
Applications: []
};
obj.weekEnd = (x > 0) ? weeks[x - 1].weekStart : now;
var start = new Date(obj.weekEnd);
start.setTime(start.getTime() - (24 * 60 * 60 * 1000) * 7);
obj.weekStart = new Date(start);
weeks[x] = obj;
}
dojoArray.forEach(data, function (item) {
var d = new Date(item.regData[0].CreatedDate);
d.setTime(d.getTime() - (24 * 60 * 60 * 1000) * item.regData[0].Age);
for ( var x = 0; x < weeks.length; x++) {
var inThisWeek = date.compare(d, weeks[x].weekStart) > -1 && date.compare(d, weeks[x].weekEnd) == -1;
if (inThisWeek)
weeks[x].Applications.push(item);
}
}, this);
// create array of last 30 days
var days = [];
var now = new Date();
now.setTime(now.getTime() - (24 * 60 * 60 * 1000) * 30);
for ( var x = 0; x < 31; x++) {
var d = new Date()
d.setTime(now.getTime() + (24 * 60 * 60 * 1000) * x);
var obj = {
Applications: []
, Day: d
};
days[x] = obj;
}