[TIL]sort()활용

choiuhana·2021년 8월 12일
0

TIL

목록 보기
26/37

기업 협업중 특정조건 순서대로 객체를 정렬해야하는 상황에 놓였다, 뭔가 숫자거나 문자열이면 sort()를 활용해서 정렬을 할수있다고 생각이 드는데 객체? 문자열? 바로 떠오르지 않았다.
처음에는 구글링을 했는데 딱히 내가 원하는 설명이 나오진 않았고 (뭔가 처음으로?)MDN문서를 읽고 응용해서 문제를 해결한 기념으로 블로그에 남겨보고자 한다.

arr.sort([compareFunction])는 그냥 막연하게 쓰던 것과 달리 compareFunction을 품고 있었다, compareFunction은 (a,b)를 넣어주면 비교해서 정렬시켜주는 녀석으로 바로 이 compareFunction을 활용해서 원하는 정렬을 조건을 주면 가능하겠다 싶었고 실제로 가능했다!
a와 b를 비교해서 a가 먼저이고 싶으면 -1을! b를 앞에놓고싶으면 1을, 그대로 둬야하는 상황에선 0을 리턴하면 되는 것!

var numbers = [4, 2, 5, 1,5, 3];
numbers.sort((a,b)=> {
  if(a === 5 && b !== 5){
    return -1
  } if(a!== 5 && b === 5){
    return 1
  } if(a === b){
  return 0
  }
});

실험삼아 5로 정렬되는 조건을 걸어봤고 잘 작동하는 걸 볼수 있었다, 별건 아니었지만 나름 뿌듯 😁

profile
만드는 사람도 사용하는 사람도 편하고 만족하는 '것'을 추구하는 프론트엔드 개발자

0개의 댓글