110 of 264 menu

sort 메소드

메소드 sort는 배열을 사전순으로 정렬하고 이미 변경된 배열을 반환합니다. 선택적 매개변수로 사용자 정의 정렬 함수를 지정할 수 있습니다.

구문

배열.sort([함수]);

예제

배열을 정렬해 봅시다:

let arr = ['d', 'b', 'a', 'c']; console.log(arr.sort());

코드 실행 결과:

['a', 'b', 'c', 'd']

예제

숫자가 있는 배열을 정렬해 봅시다:

let arr = [4, 1, 7, 2]; console.log(arr.sort());

코드 실행 결과:

[1, 2, 4, 7]

예제

배열에 숫자를 추가하고 정렬해 봅시다:

let arr = [1, 123, 2, 4, 111, 7]; console.log(arr.sort());

코드 실행 결과를 보면 숫자가 오름차순이 아닌 사전순으로 배치된 것을 볼 수 있습니다. 즉, 숫자끼리 문자열처럼 비교됩니다. 이때 비교는 각 문자별로 이루어지며, 첫 번째 문자의 코드가 이웃한 문자보다 큰지 등을 확인합니다. 결과:

[1, 111, 123, 2, 4, 7]

예제

이제 함수를 사용하여 배열을 정렬해 보겠습니다. 함수에 조건을 명시합니다 - 첫 번째 매개변수가 두 번째보다 크면 위치를 바꿉니다 (이를 위해 return에 양수를 반환합니다). 반대의 경우 위치 변경이 필요하지 않으므로 0 또는 임의의 음수를 지정합니다:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { if (a > b) { return 1; } else { return -1; } }); console.log(arr);

코드 실행 결과:

[1, 2, 4, 7, 111, 123]

예제

편의를 위해 이전 예제의 함수 코드를 줄여 보겠습니다:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return a - b; }); console.log(arr);

코드 실행 결과:

[1, 2, 4, 7, 111, 123]

예제

이제 함수를 사용하여 배열을 내림차순으로 정렬해 봅시다:

let arr = [1, 123, 2, 4, 111, 7]; arr.sort(function(a, b) { return b - a; }); console.log(arr);

코드 실행 결과:

[123, 111, 7, 4, 2, 1]

예제

객체 배열을 키 'one' 기준으로 오름차순 정렬해 봅시다:

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.one - b.one; }); console.log(arr);

코드 실행 결과:

[ {one: 1, two: 2}, {one: 3, two: 3}, {one: 7, two: 1} ]

예제

이제 객체 배열을 키 'two' 기준으로 정렬해 봅시다:

let arr = [ {one: 1, two: 2}, {one: 7, two: 1}, {one: 3, two: 3} ]; arr.sort(function(a, b) { return a.two - b.two; }); console.log(arr);

코드 실행 결과:

[ {one: 7, two: 1}, {one: 1, two: 2}, {one: 3, two: 3} ]

예제

sort 메소드를 적용한 후 배열이 변경되었는지 확인해 봅시다:

let arr = ['b', 'a', 'd', 'c']; let res = arr.sort(); console.log(arr);

코드 실행 결과:

['a', 'b', 'c', 'd']

함께 보기

  • 메소드 filter,
    배열 요소를 필터링할 수 있게 해줍니다
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부