카테고리 없음

자바스크립트 배열 sort : 배열 요소 정렬 함수

codinglooking 2026. 5. 12. 11:32

배열에서 sort() 함수는 주어진 원본 배열 요소를 정렬합니다.

 

이 글은 코딩에브리바디(codingeverybody.kr)의 내용을 참조해 작성했습니다.

 

특징

  • 기본 정렬은 각 요소를 문자열로 변환한 뒤 유니코드 코드 포인트 값의 정렬 순서를 따릅니다.
  • 필요에 따라 콜백 함수를 전달하여 정렬 기준을 지정할 수 있습니다.
  • 이 함수는 주어진 원본 배열을 직접 수정하며, 새로운 배열을 반환하지 않습니다.

기본 예제

/* 기본 정렬: 문자열 배열을 유니코드 코드 포인트 순서로 정렬하는 예제 */
const enStrings = ["d", "b", "c", "a"];

enStrings.sort();
console.log(enStrings); // ["a", "b", "c", "d"]

/* 콜백 함수를 사용해 숫자의 크기 기준으로 오름차순 정렬하는 예제 */
const numbers = [1, 4, 1000, 10, 31];

function compareNumbers(a, b) {
    return a - b;
}

numbers.sort(compareNumbers);
console.log(numbers); // [1, 4, 10, 31, 1000]

 

구문

arr.sort();
arr.sort(compareFunction);

 

반환 값

정렬한 배열을 반환합니다. 반환 값은 변경된 원본 배열 자체입니다. 새로운 배열을 반환하지 않습니다.

 

콜백 함수(compareFunction) 설명

/**
 * 콜백 함수
 *
 * @param a 비교할 첫 번째 요소입니다.undefined가 될 수 없습니다.
 * @param b 비교를 위한 두 번째 요소입니다. undefined가 될 수 없습니다.
 *
 * 콜백 함수는 기명 함수(사용자 정의 함수)나 익명 함수 등으로 사용할 수 있습니다.
 * (당연히) 모든 콜백 함수는 화살표 함수로 사용할 수 있습니다.
 */
compareFunction(a, b) {
    // a와 b를 비교할 로직: 비교 결과를 반환해야 합니다.
}
  • 반환 값이 0보다 작으면 첫 번째 인수를 두 번째 인수보다 앞에 위치시킵니다.
  • 반환 값이 0이면 위치를 변경하지 않습니다.
  • 반환 값이 0보다 크면 첫 번째 인수를 두 번째 인수보다 뒤에 위치시킵니다.
const numbers = [1, 4, 1000, 10, 31];

function compareNumbers(a, b) {
    return a - b;
}

numbers.sort(compareNumbers);
console.log(numbers); // 출력: [1, 4, 10, 31, 1000]

 

또 다른 출처 정보

https://codingeverybody.jp/javascript-array-sort-function/

 

JavaScript 配列 sort()関数:元の配列の要素を並び替える - codingEverybody

codingEverybodyは、すべての人々のためのプログラミング学習書です。技術的に信頼できる情報を提供するために、常に努めています。

codingeverybody.jp

 

https://coding.courses/javascript-array-sort-function/

 

JavaScript Array sort() Function – Sorting Original Array Elements - codingCourses

The sort() function for arrays returns the original array after sorting its elements; by default, it sorts according to the Unicode code point order of strings, and a custom sorting criteria can be specified through a callback function.

coding.courses