본문 바로가기

Javascript

배열 정렬하기

반응형

배열 요소값이 순차적으로 되어있지 않은 경우 비교함수를 인자로 넣어 오름차순, 또는 내림차순으로 정렬할 수 있습니다.

배열의 정렬은 배열 자체를 정렬하며, 별도의 반환 값은 없습니다.


사용방법은 아래와 같습니다.


Array.sort(function(a,b){

return 비교값;

});


비교값에 따른 정렬 기준은 다음과 같습니다. 반환하는 비교 결과값은 반드시 정수여야 하며, 양수, 음수에 따라 정렬 여부가 결정됩니다.


비교결과 값

정렬 방법

비교값 > 0

a가 b보다 앞(작은인덱스)에 위치합니다.

비교값 = 0

a와 b의 위치를 변경하지 않음

비교값 < 0

b가 a보다 앞(작은인덱스)에 위치합니다.


비교값은 넘어온 인자 a, b 두 값을 비교하는 식이 됩니다.

비교 기준에 따라 오름차순, 또는 내림차순 정렬이 됩니다.



숫자 정렬


const arr1 = [327141698];

console.log(arr1.sort(function(ab){return a - b;}));// 내림 차순 정렬은 b - a




문자열 정렬


const arr2 = ['펭수''라이언''어피치''콘''브라운''무지''라이언''어피치''콘''콘'];
// 반환값은 반드시 양수, 음수인 정수여야 정렬 기준으로 처리됨. 
// ( a > b 로 비교결과를 반환하면 true/false를 반환하기 때문에 정렬이 안됨)
console.log(arr2.sort(function(ab){return a > b ? 1:-1;}));




배열 순서를 반대로 바꾸기


reverse() 메서드를 사용하면 배열의 순서를 반대로 바꿀 수 있습니다.

마찬가지로 배열이 긴 경우 부하가 많이 걸리므로 사용에 신중해야 합니다.


const arr3 = ['펭수''라이언''어피치''콘''브라운''무지''라이언''어피치''콘''콘'];

console.log(arr3.reverse());



반응형

Comments





❌ 닫기