본문 바로가기
자바스크립트

[JavaScript] sort함수 정리

by 슈크림 붕어빵 2023. 10. 26.
 answer.sort().reverse();

sort() 함수

()안에 함수가 없는 경우 문자열로 취급되어 유니코드 순대로 정렬된다.

또한 sort를 새로 저장하지 않더라도 실행하는 것만으로 배열자체가 정렬된다.

 

 

1. 숫자 오름차순

answer.sort();

이와 같이 작성한 경우 문자열처러 취급되어 [12,2,5,7,9] 이와 같이 1이 맨 앞에 들어간 12가 먼저 출력된다.

 

 answer.sort(function(a, b)  {
  return a - b;
});

이와 같이 a가 크다면 리턴값이 양수가 되어 b가 앞으로 오게된다. b,a 순

2. 숫자 내림차순

 answer.sort(function(a, b)  {
  return b - a;
});

반대로 함수를 넣어주지 않으면 [91,81,100] 이와같이 제대로 정렬이 되지 않을 수 있다. 

리턴값이 양수가 되어 a가 앞으로 오게된다. 

 

3. 문자열 오름차순

 answer.sort();

sort함수는 유니코드 순으로 정렬하기 때문에 sort함수를 바로 사용하면 된다.

 

4. 문자열 내림차순

 answer.sort().reverse();

오름차순으로 정렬 후, 뒤집어준다.

 

 

5. 객체 정렬

 

const arr = [
  {name: 'sungeun', score: 100}, 
  {name: 'std1', score: 95},
  {name: 'std2', score: 30}
];

arr.sort(function(a, b) {
  return a.score - b.score;
});

이와 같이 객체도 정렬할 수 있다.