c9u11

이거 해결할 수 있냐?

개요

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의 문제같음