I have a date-range of 01-01-2020 to 31-12-2020 and an array of date-ranges. I want the occurrence of each date in the array vs the main range.
Eg: mainRange => 01-01-2020 to 31-12-2020 dateRanges =[ [01-01-2020, 03-01-2020], [03-01-2020, 04-01-2020], [03-01-2020, 06-01-2020] ]; the output should be => countArr = [1,1,3,2,1,1,0,0,......,0]; //array length 365
I was desparate and I had posted the same on stackoverflow too. 🥺
SOLUTION :
var range1 = new Date(2020, 0, 1), range2 = new Date(2020, 11, 31), dateRanges =[ [new Date(2020, 0, 1), new Date(2020, 0, 3)], [new Date(2020, 0, 3), new Date(2020, 0, 4)], [new Date(2020, 0, 3), new Date(2020, 0, 6)], ], result = []; while (range1 <= range2) { var count = 0; dateRanges.forEach( function(range) { if (range1 >= range[0] && range1 <= range[1]) { count++; } } ); result.push(count); range1.setDate(range1.getDate() + 1); //+1 day } console.log(result);
Thank you 😍
Top comments (0)