JSFiddle - React, Tailwind, and code Playground
by Sudheer Nunna
JavaScript
const sampleData =
[{"monthDays":"30","startTime":"2020-12-29T07:30:00.413Z","endTime":"2020-12-29T08:30:00.029Z","eligibleWeekDays":[true,true,true,true,true,true,true],"batchSize":0,"batchMode":false,"batchInterval":0},{"monthDays":"30","startTime":"2020-12-29T08:30:00.834Z","endTime":"2020-12-29T09:30:00.289Z","eligibleWeekDays":[true,true,true,true,true,true,true],"batchSize":0,"batchMode":false,"batchInterval":0},{"monthDays":"30","startTime":"2020-12-29T06:30:00.513Z","endTime":"2020-12-29T07:30:00.929Z","eligibleWeekDays":[true,true,true,true,true,true,true],"batchSize":0,"batchMode":false,"batchInterval":0},{"monthDays":"30","startTime":"2020-12-29T07:00:00.498Z","endTime":"2020-12-29T08:00:00.687Z","eligibleWeekDays":[true,true,true,true,true,true,true],"batchSize":0,"batchMode":false,"batchInterval":0}]
const getNumber = (startInput,endInputNum)=>{
let finalInputValues = [];
for(let i=startInput;i<=endInputNum;i++){
finalInputValues.push(i.toString());
}
return finalInputValues;
}
const lastIndexValue = sampleData[sampleData.length-1];
const chekcValid = sampleData.splice(0,sampleData.length-1).forEach((item)=>{
let datasample;
if(item.monthDays.includes("-")){
const splitInput = item.monthDays.split("-");
datasample = getNumber(splitInput[0],splitInput[1]);
}else{
datasample = item.monthDays.split(",");
}
const arrayDataStartTime = new Date(item.startTime);
const startTime = arrayDataStartTime.getTime();
const arrayDataEndTime = new Date(item.endTime);
const endTime = arrayDataEndTime.getTime();
const lastarrayDataStartTime = new Date(lastIndexValue.startTime);
const laststartTime = lastarrayDataStartTime.getTime();
const lastarrayDataEndTime = new Date(lastIndexValue.endTime);
const lastendTime = lastarrayDataEndTime.getTime();
if(datasample.includes(lastIndexValue.monthDays) && (laststartTime > startTime ) && (laststartTime < endTime)){
console.log(true);
}else{
console.log(false);
}
})
//console.log(chekcValid);