JavaScript Array sort()

정의와 사용법

sort() 이 메서드는 배열의 항목을 정렬합니다.

정렬 순서는 알파벳이나 숫자, 오름차순(위쪽)이나 내림차순(아래쪽)으로 선택할 수 있습니다.

기본적으로,sort() 이 메서드는 값을 문자로 변환하여 알파벳과 오름차순으로 정렬합니다.

이는 문자열에 적용됩니다. ("Apple"는 "Banana"보다 앞에 나타납니다.). 하지만 문자로 숫자를 정렬하면 "25"는 "100"보다 큽니다. 왜냐하면 "2"는 "1"보다 큽니다.

그래서요,sort() 이 메서드는 숫자를 정렬할 때 잘못된 결과를 생성할 수 있습니다.

이 문제를 해결하기 위해 '비교 함수'를 제공할 수 있습니다. (아래의 '파라미터 값'을 참조하세요).

주석:sort() 이 메서드는 원본 배열을 변경합니다。

예제

예제 1

정렬된 배열:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();

직접 테스트해 보세요

예제 2

숫자 배열을 오름차순으로 정렬합니다:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});

직접 테스트해 보세요

예제 3

숫자 배열을 내림차순으로 정렬합니다:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});

직접 테스트해 보세요

예제 4

배열中最빠른 값을 가져오기:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});    // 배열의 숫자를 오름차순으로 정렬
// 배열의 첫 번째 항목 (points[0])이 지금 최소 값입니다

직접 테스트해 보세요

예제 5

배열中最빠른 값을 가져오기:

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});    // 배열의 숫자를 내림차순으로 정렬
// 배열의 첫 번째 항목 (points[0])이 지금 최고 값입니다

직접 테스트해 보세요

예제 6

배열中最빠른 값을 가져오기:

const points = [40, 100, 1, 5, 25, 10];
// 순차적으로 숫자를 정렬합니다:
points.sort(function(a, b){return a-b});
// points[points.length-1] = 100(최고 값)

직접 테스트해 보세요

예제 7

문자열 순으로 배열을 정렬한 후, 정렬 항목의 순서를 반전하여(내림차순):

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();

직접 테스트해 보세요

문법

array.sort(compareFunction)

매개변수 값

매개변수 설명
compareFunction

선택 사항. 대체 정렬 순서를 정의하는 함수. 이 함수는 매개변수에 따라 부정 값, 0 값, 또는 정 값을 반환해야 합니다. 예를 들어:

  • function(a, b){return a-b}

sort() 메서드가 두 값을 비교할 때, 값을 비교 함수에 전달하고, 반환된(부정, 0, 정) 값에 따라 값을 정렬합니다.

예제:

40과 100을 비교할 때, sort() 메서드는 비교 함수(40, 100)를 호출합니다.

이 함수는 40-100을 계산하고 -60(-부정 값)을 반환합니다.

sort 함수는 40을 100보다 작은 값으로 정렬합니다.

기술 세부 사항

반환 값: 정렬된 항목이 있는 Array 객체.
JavaScript 버전: ECMAScript 1

브라우저 지원

모든 브라우저가 완전히 지원합니다 sort() 메서드:

크롬 IE 에지 파이어폭스 사파리 오페라
크롬 IE 에지 파이어폭스 사파리 오페라
지원 지원 지원 지원 지원 지원

관련 페이지

교육:JavaScript 배열

교육:JavaScript 배열 Const

교육:JavaScript 배열 메서드

교육:JavaScript 배열 정렬

교육:JavaScript 배열 반복

가이드서:JavaScript Array.reverse() 메서드