JSFiddle - React, Tailwind, and code Playground
by zav19791979
JavaScript
const stringTimeToDate = (stringTime) => {
const timeParts = stringTime.split(':').map((timePart) => parseFloat(timePart, 10));
const date = new Date(0);
date.setHours(timeParts[0]);
date.setMinutes(timeParts[1]);
return date;
};
let obj = {
0: {title: "событие 5", start: "02:30", end: "06:00", week: "Thursday"},
1: {title: "событие 1", start: "06:00", end: "15:30", week: "Thursday"},
2: {title: "событие 2", start: "15:30", end: "21:00", week: "Thursday"},
3: {title: "событие 3", start: "21:00", end: "00:00", week: "Thursday"},
4: {title: "событие 4", start: "00:00", end: "02:30", week: "Thursday"}
}
const sortedObjects = Object.values(obj).sort((objDataA, objDataB) => {
const dateA = stringTimeToDate(objDataA.start);
const dateB = stringTimeToDate(objDataB.start);
let result = 0;
if (dateA !== dateB) {
result = dateA < dateB ? -1 : 1;
}
return result;
});
console.log()