React | 특정값, 다중 조건 기준으로 정렬

샘샘·2024년 9월 23일
0

TypeScript

목록 보기
11/13

가나다, abc순이 아닌 특정 값을 기준으로 정렬해야 할 때

export const OrderType = ["부재", "직경", "직경누락", "기초", "슬래브", "벽체", "기둥", "보"]

기준을 배열로 만들어서 선언해주고

  const orderList = list.sort(
    (a, b) =>
      OrderType.indexOf(a.group as string) -
      OrderType.indexOf(b.group as string),
  );

불러와서 sort 시켜주면 된다
indexOf - MDN


중분류는 이렇게 기준을 만들어서 정렬했는데
나머지 소분류는 어떻게 정렬해야할까 🤔

다중 조건 기준으로 정렬하려면
기존 정렬 기준에 or 연산자를 사용하면 된다

  const orderGroupList = list.sort(
    (a, b) =>
      OrderType.indexOf(a.group as string) -
        OrderType.indexOf(b.group as string) ||
      a.key?.localeCompare(b.key as string) ||
      0,
  );

group을 특정 기준으로 정렬한 다음 ||(or 연산자)를 사용해서 key를 정렬해준다

profile
회계팀 출신 FE개발자 👉콘테크 회사에서 웹개발을 하고 있습니다

0개의 댓글