I have been trying to search for the closest UPCOMING date in an array of given Dates
This is the array:
[
'September 01',
'September 06',
'September 08',
'September 13',
'September 15',
'September 20',
'September 22',
'September 27',
'September 29',
'October 04',
'October 06',
'October 11',
'October 13'
]
For example today's date is 'September 07' and I want the output to be 'September 08'
The format of the dates can not be changed
if it is possible to make it work for any given array with these date format
I tried the following:
let date = new Date();
let closestDay;
const Dates = [
'September 01',
'September 06',
'September 08',
'September 13',
'September 15',
'September 20',
'September 22',
'September 27',
'September 29',
'October 04',
'October 06',
'October 11',
'October 13'
]
var currentDay = date.getDate();
const currentMonth = date.getMonth();
var currentDate = currentMonth + " " + (currentDay<10)? "0" + currentDay : currentDay;
const getClosestDay = ( Dates, Date) => {
while(!closestDay){
for( let i=0; i<Dates.length; i++){
if(Date == Dates[i]){
closestDate = Dates[i];
break;
}
}
if(!closestDate){
currentDay++;
currentDate = currentMonth + " " + (currentDay<10)? "0" + currentDay : currentDay;
}
}}
But this advance creates a logical error when it comes to the end of the month since no Date will be returned on -for example- September 29