이거 해결할 수 있냐?
개요
endDate를 기준으로 sort를 했을 때 문제가 생김
- 문제의 데이터
sort 방법
arr.sort((a, b) => {
if (a.completed === b.completed) {
const dateA = new Date(a.endDate);
const dateB = new Date(b.endDate);
return compareDateTime(dateA, dateB);
} else {
return a.completed ? 1 : -1;
}
});
export const compareNumber = (num1: number, num2: number) => {
if (num1 === num2) return 0;
else if (num1 > num2) return 1;
else return -1;
// return num1 - num2;
};
export const compareDateTime = (date1: Date, date2: Date) => {
const time1 = date1.getTime();
const time2 = date2.getTime();
return compareNumber(time1, time2);
};
Typescript를 사용해서 단순하게 Date끼리 비교가 안됨 주석된 return문을 사용하면 정상적으로 sort됨 invalid Date의 문제같음