본문 바로가기

Javascript/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());



반응형

'Javascript > Javascript중급' 카테고리의 다른 글

JSON 데이터를 배열로 만들기  (0) 2020.05.21
문자열을 배열로 만들기  (0) 2020.05.20
배열 요소의 추가  (0) 2020.05.20
배열의 순환(forEach, map)  (0) 2020.05.20
배열 정렬하기  (0) 2020.05.19
배열 검색하기  (0) 2020.05.19
배열 요소를 추출하기  (2) 2020.05.19
배열 요소의 추가, 변경, 삭제하기  (0) 2020.05.19
배열 합치기  (0) 2020.05.17

닫기