JavaScript Array toSorted()

정의와 사용법

toSorted() 메서드는 배열 요소를 알파벳 순으로 정렬합니다.

toSorted() 메서드는 새로운 배열을 반환합니다.

toSorted() 메서드는 원래 배열을 덮어쓰지 않습니다.

toSorted() 메서드는 sort() 메서드의 복사본.

자세히 보기:

Array sort() 메서드

Array reverse() 메서드

정렬 비교 함수

문자열을 알파벳 순으로 정렬하면 문자열에 대한 효과가 좋습니다("Apple"은 "Banana"보다 앞에 있습니다).

하지만, 숫자를 정렬하면 잘못된 결과가 발생할 수 있습니다.

"25"는 "100"보다 큽니다. "2"는 "1"보다 크기 때문입니다.

이 문제를 해결하기 위해 '비교 함수'를 제공할 수 있습니다(아래 예제 참조).

예제

예제 1

// 배열을 생성
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// 배열을 정렬
const fruits2 = fruits.toSorted();

직접 테스트해 보세요

예제 2

정렬된 후의 반전 순서:

// 배열을 생성
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// 배열을 정렬
const fruits2 = fruits.toSorted();
// 배열을 반전합니다
fruits2.reverse();

직접 테스트해 보세요

예제 3

정렬 함수를 사용하여 순차적으로 정렬

// 배열을 생성
const points = [40, 100, 1, 5, 25, 10];
// 배열을 정렬
let points2 = points.toSorted(function(a, b){return a - b});

직접 테스트해 보세요

예제 4

순차적으로 정렬

// 배열을 생성
const points = [40, 100, 1, 5, 25, 10];
// 배열을 정렬
let points2 = points.toSorted(function(a, b){return b - a});

직접 테스트해 보세요

예제 5

최소 값을 찾기:

// 배열을 생성
const points = [40, 100, 1, 5, 25, 10];
// 순차적으로 정렬
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

직접 테스트해 보세요

예제 6

최대 값을 찾기:

// 배열을 생성
const points = [40, 100, 1, 5, 25, 10];
// 순차적으로 정렬
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

직접 테스트해 보세요

예제 7

최대 값을 찾기:

// 배열을 생성
const points = [40, 100, 1, 5, 25, 10];
// 순차적으로 정렬
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

직접 테스트해 보세요

문법

array.sort(compareFunction)

매개변수

매개변수 설명
compareFunction

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

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

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

예제:

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

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

함수 계산 40 - 100, 그리고 -60(-값)을 반환합니다.

반환 값

타입 설명
Array 정렬된 새 배열

브라우저 지원

toSorted() ES2023의 기능입니다。

2023년 7월부터 모든 현대 브라우저가 이 메서드를 지원합니다:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
2023년 2월 2023년 2월 2023년 7월 2023년 3월 2023년 5월