Hyebin‘s blog

sort() 함수?

정렬 순서를 정의하는 함수.

이 값이 생략되면, 배열의 element들은 문자열로 취급되어, 유니코드 값 순서대로 정렬됩니다.

  • 리턴하는 값이 -1인경우,  a가 b보다 앞에 오도록 정렬하고,
  • 리턴하는 값이 1인 경우, b가 a보다 앞에 오도록 정렬합니다.
  • 만약 0을 리턴하면, a와 b의 순서를 변경하지 않습니다.

배열의 숫자들을 유니코드 순서가 아닌, 숫자 크기 순서대로 정렬하기 위해서

sort() 함수의 파라미터로 함수를 정의해야한다.

 

 

두 숫자의 차가 양수값이냐, 음수값이냐를 이용하여

두 숫자의 차이를 리턴하는 함수를 sort() 함수의 파라미터로 전달

숫자를 오름차순으로 정렬하는 예제를 위와 같이 단순화

 

배열의 오름 차순

방법 1)

arr.sort(function(a, b)  {
if(a > b) return 1;
if(a === b) return 0;
if(a < b) return -1;
});

방법2)

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

배열의 내림 차순

방법 1)

arr.sort(function(a, b)  {
if(a < b) return 1;
if(a === b) return 0;
if(a > b) return -1;
});

방법2)

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

sort() 함수로 객체 정렬하기

const arr = [
{name: 'banana', price: 3000},
{name: 'apple', price: 1000},
{name: 'orange', price: 500}
];

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

Hyebin‘s blog

@hyebin Lee

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그