자바스크립트 내장 함수인
숫자 정렬 예시를 한번 보자. 다음과 같이 숫자가 나열되어 있다고 가정했을 때
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/