본문으로 바로가기

[JavaScript] 정렬 : sort()

category Helloworld!/Javascript & jQuery 2018. 11. 13. 18:23
자바스크립트 내장 함수인 sort 함수는 다음과 같이 사용한다.
var fruit = ['orange', 'apple', 'banana'];
fruit.sort(); // apple, banana, orange
일반적으로 문자 정렬일 경우 위 와 같이 문제 없이 원하는대로 정렬이 되지만,
숫자 정렬 예시를 한번 보자. 다음과 같이 숫자가 나열되어 있다고 가정했을 때
var score = [4, 11, 2, 10, 3, 1];
ASCII 문자 순서로 정렬되어 숫자의 크기대로 나오지 않고 첫번째 문자와 두번째 문자 각각의 정렬로 처리된다
score.sort(); // 1, 10, 11, 2, 3, 4
따라서 정상적으로 정렬되기를 원한다면 다음과 같이 해야한다.
score.sort(function(a, b) { // 오름차순
    return a - b;
    // 1, 2, 3, 4, 10, 11
});

score.sort(function(a, b) { // 내림차순
    return b - a;
    // 11, 10, 4, 3, 2, 1
});

참고 사이트 : http://dudmy.net/javascript/2015/11/16/javascript-sort/