Wii Pointer #1 Tilt Normal
본문 바로가기
📁𝐩𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐢𝐧𝐠𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞/JavaScript

[메서드] sort()

by 개발자_후니 2023. 1. 30.
728x90
반응형

 sort() 함수

Javascript에서 배열을 정렬하기 위해서는 sort() 함수를 사용합니다.

 

arr.sort([compareFunction])

 파라미터 

compareFunction

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

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

이 함수는 두 개의 배열 element를 파라미터로 입력 받습니다.

이 함수가 a, b 두개의 element를 파라미터로 입력받을 경우,

이 함수가 리턴하는 값이 0보다 작을 경우,  a가 b보다 앞에 오도록 정렬하고,

이 함수가 리턴하는 값이 0보다 클 경우, b가 a보다 앞에 오도록 정렬합니다.

만약 0을 리턴하면, a와 b의 순서를 변경하지 않습니다.

 

 

 리턴값 

compareFunction 규칙에 따라서 정렬된 배열을 리턴합니다.

이때, 원본 배열인 arr가 정렬이 되고, 리턴하는 값 또한 원본 배열인 arr을 가리키고 있음에 유의하세요.

 

내가 변환하고자 하는 변수를 X라 가정한다면, 만약 X 객체가 배열일 때 오름차순이나 내림차순으로 변환하고싶다?

 

숫자

 

=> X.sort((a,b)=>a-b) 숫자 오름차순

=> X.sort((a,b)=>b-a) 숫자 내림차순

 

 

문자

 

만약 문자열로 이루어진 배열이라면?

 

=> X.sort() 문자 오름차순

=> X.sort(function(a,b) {

          if(a<b) return 1;

          if(a>b) return -1;

          if(a===b) return 0;

      });

문자 내림차순

 

 

객체

 

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

 

X.sort(function(a,b) {

    return a.price - b,price;

}

객체 정렬

 

 

이와 같은 방식으로 할 수 있다.

728x90
반응형