자바스크립트 커스텀 정렬() 함수
이 기사에서는 JavaScript 배열에 대한 정렬 작업에 대해 설명합니다.
JavaScript의 정렬()
메서드
sort()
메서드 는 배열의 요소를 정렬하는 데 사용됩니다. 기본적으로 이 메서드는 요소를 오름차순으로 정렬합니다.
일반적으로 이 메서드는 요소의 위치를 변경하여 원래 배열을 수정합니다. 또한 sort()
메서드는 입력 배열 요소를 문자열로 캐스팅한 다음 문자열 비교를 수행하여 요소를 정렬합니다.
숫자 배열을 입력하면 해당 숫자가 먼저 문자열 값으로 변환된 다음 비교됩니다. 숫자 배열을 만들고 sort()
메서드를 사용하여 정렬해 봅시다.
코드 예:
let numericArray = [100, 3, 66, 23, 200, 500];
numericArray.sort();
console.log(numericArray);
출력:
예상대로 주문되지 않았습니다. 이 문제를 해결하려면 sort()
메서드를 사용자 지정해야 합니다.
사용자 지정 비교 함수를 인수로 전달할 수 있습니다. 이 비교 함수는 두 개의 인수를 허용하며 전달된 인수에 적용된 규칙에 따라 정렬 순서가 결정됩니다.
사용자 지정 sort()
메서드를 사용하여 JavaScript에서 숫자 배열 정렬
숫자 배열을 정렬하려면 다음과 같이 비교 함수를 구현해야 합니다.
compare(a, b)
함수에서 반환된 값이 0보다 작은 경우 sort()
메서드는 b
앞에 a를 배치합니다.
반대의 경우 b
는 a
앞에 배치됩니다. compare(a, b)
함수가 0
을 반환할 때마다 a
및 b
의 위치는 변경되지 않습니다.
따라서 다음과 같이 사용자 지정 비교 함수를 sort()
메서드에 전달할 수 있습니다.
코드 예:
let numericArray = [100, 3, 66, 23, 200, 500];
numericArray.sort(function(a, b) {
if (a > b) return 1;
if (a < b) return -1;
return 0;
});
console.log(numericArray);
출력:
예상대로 이제 배열이 제대로 정렬되었습니다. 이것은 사용자가 순서를 결정할 수 있는 JavaScript sort()
메서드의 매우 유용한 기능입니다.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.