배열 안 객체 내림차순

주민콩·2021년 6월 2일
0

이미 API로 전달받은 데이터가 있다는 가정하에 해보겠다!

내림차순 정렬

  • 아이디 숫자에 따른 내림차순 함수를 적어봤다
     list.sort(function (f, s) {
         const idF = f.id;
         const idS = s.id;
        if (idF > idS) {
            return -1;
         }
         if (idF < idS) {
             return 1;
         }
        return 0;
     });
  • 위의 식을 삼항 연산자로 변경하면 이렇게 쓸 수 있다.

    const compare = (key) => (f, s) => {
        return f[key] > s[key] ? -1 : f[key] < s[key] ? 1 : 0;
    };
  • 그리고 이렇게 찍어보면 아이디값이 반대로 내림차순되어 나오는걸 확인 할 수 있다!!
 list.sort(compare('id'));

오름차순 정렬

list.sort(function(f,s) {
  const idF = f.id;
  const idS = s.id;
  if (idF < idS) {
    return -1;
  }
  if(idF > idS) {
    return 1;
  }
  return 0;
});

위의 함수를 삼항연산자로 바꾸면

list.sort((f,s) => f.id < s.id ? -1 : f.id > s.id ? 1 : 0);

이것도 마찬가지로 확인해보면 오름차순으로 변경됨을 확인할 수 있다.

list.sort((f,s) => f.id - s.id)
profile
코딩하면서 기록하는 메모장 ᰔ

0개의 댓글