sort함수와 compareFunction(a,b)

Whoyoung90·2021년 2월 4일

compareFunction이 제공되지 않으면 유니코드 순서로 변환

<script>
var number = [50, 20, 10, 9,8,7,6,5,4,3,2,1];
number.sort();
</script>

[ 1, 10, 2, 20, 3, 4, 5, 50, 6, 7, 8, 9 ] 유니코드 순서

compareFunction

<script>
var number = [50, 20, 10, 9,8,7,6,5,4,3,2,1];
var callback = function (a, b) {
    if (a > b) {
      return 1;
    }
    else if (a < b) {
      return -1;
    }
    else { 
    return 0; //a = b
   }};
   number.sort(callback);
</script>

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 50 ]

compareFunction a - b (정순)

<script>
var number = [50, 20, 10, 9,8,7,6,5,4,3,2,1];
var callback = function (a, b) {
  return a - b;
};
number.sort(callback);
</script>

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 50 ]

compareFunction b - a (역순)

<script>
var number = [50, 20, 10, 9,8,7,6,5,4,3,2,1];
var callback = function (a, b) {
  return b - a;
};
number.sort(callback);
</script>

[50, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

값으로서의 함수 : callback

profile
비전공으로 일식 쉐프가 되었듯, 배움에 겸손한 프론트엔드 개발자가 되겠습니다 :)

0개의 댓글