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;
}
객체 정렬
이와 같은 방식으로 할 수 있다.
'📁𝐩𝐫𝐨𝐠𝐫𝐚𝐦𝐦𝐢𝐧𝐠𝐋𝐚𝐧𝐠𝐮𝐚𝐠𝐞 > JavaScript' 카테고리의 다른 글
[메서드] split() (0) | 2023.01.30 |
---|---|
[메서드] replace() (0) | 2023.01.30 |
[JavaScript 심화] JS Study 일지 (4일차) (0) | 2023.01.25 |
[JavaScript 심화] JavaScript 심화 항해 12기 2주차 (2) | 2023.01.24 |
[JavaScript 심화] JavaScript 심화 항해 12기 1주차 (0) | 2023.01.24 |