Sorting Based on Multiple Criteria
function sortTickets(tickets) {
const statusOrder = {
OPEN: 1,
REOPENED: 2,
IN_PROGRESS: 3,
ON_HOLD: 4,
COMPLETED: 5,
CANCEL: 6
};
return tickets.sort((a, b) => {
// Compare by status
if (statusOrder[a.status] !== statusOrder[b.status]) {
return statusOrder[a.status] - statusOrder[b.status];
}
// Compare by dueDate in ascending order
const dateA = new Date(a.dueDate).getTime();
const dateB = new Date(b.dueDate).getTime();
if (dateA !== dateB) {
return dateA - dateB;
}
// Compare by dueTime in descending order
const timeA = convertToMinutes(a.dueTime);
const timeB = convertToMinutes(b.dueTime);
return timeB - timeA;
});
}
function convertToMinutes(time) {
const [hours, minutes] = time.split(':').map(Number);
return hours * 60 + minutes;
}
Explanation
Example Usage
Conclusion
PreviousHow to Convert Numbers to Words in the Indian Numbering System Using JavaScriptNextUsing Omit in TypeScript
Last updated