Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트(JavaScript)에서 정수 배열을 올바르게 정렬하는 방법

자바스크립트에서 정수 배열을 정렬할 때는 sort() 메서드를 사용합니다. 다만 기본 sort()는 요소를 문자열로 변환한 뒤 사전순으로 비교하기 때문에, 숫자 배열을 정렬할 때는 반드시 비교 함수(compare function)를 함께 전달해야 올바른 결과를 얻을 수 있습니다.

예제

다음은 정수 배열을 오름차순으로 정렬하는 코드입니다.

var arrayOfIntegers = [67, 45, 98, 52];
arrayOfIntegers.sort(function (first, second) {
   return first - second;
});
console.log(arrayOfIntegers);

위 프로그램을 실행하려면 다음 명령어를 사용합니다.

node fileName.js

여기서는 파일 이름이 demo310.js라고 가정합니다.

출력 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

PS C:\Users\Amit\javascript-code> node demo310.js
[ 45, 52, 67, 98 ]

비교 함수의 동작 원리

비교 함수가 음수를 반환하면 첫 번째 요소가 두 번째 요소보다 앞에 배치되고, 양수를 반환하면 뒤에 배치됩니다. 0을 반환하면 기존 순서가 그대로 유지됩니다. 따라서 first - second를 반환하면 오름차순 정렬이 되며, 내림차순으로 정렬하고 싶다면 second - first를 반환하도록 수정하면 됩니다.