>웹 프론트엔드 >JS 튜토리얼 >배열 요소를 정렬하는 JavaScript 메서드 sort()

배열 요소를 정렬하는 JavaScript 메서드 sort()

黄舟
黄舟원래의
2017-11-03 13:21:582267검색

정의 및 사용법

sort() 메서드는 배열의 요소를 정렬하는 데 사용됩니다.

Syntax

arrayObject.sort(sortby)
Parameters Description
sortby 선택 사항입니다. 정렬 순서를 지정합니다. 함수여야 합니다.

배열에 대한 값

A reference을 반환합니다. 배열은 원본 배열에 따라 정렬되며 복사본이 만들어지지 않습니다.

설명

이 메서드를 호출할 때 매개 변수를 사용하지 않으면 배열의 요소가 더 정확하게는 문자 인코딩 순서로 정렬됩니다. 이를 달성하려면 먼저 비교를 위해 배열 요소를 문자열(필요한 경우)로 변환해야 합니다.

다른 기준으로 정렬하려면 두 값을 비교하고 두 값의 상대적 순서를 설명하는 숫자를 반환하는 비교 함수를 제공해야 합니다. 비교 함수에는 a와 b라는 두 개의 매개변수가 있어야 하며 반환 값은 다음과 같습니다.

  • a가 b보다 작으면 정렬된 배열에서 a가 b보다 먼저 나타나야 하고 0보다 작은 값을 반환합니다.

  • a가 b와 같으면 0을 반환합니다.

  • a가 b보다 크면 0보다 큰 값을 반환합니다.

예제

예제 1

이 예에서는 배열을 만들고 알파벳순으로 정렬합니다.

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
document.write(arr.sort())

</script>

출력:

George,John,Thomas,James,Adrew,Martin
Adrew,George,James,John,Martin,Thomas

예제 2

이 예에서는 배열을 만들고 알파벳순으로 정렬합니다.

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort())

</script>

출력:

10,5,40,25,1000,1
1,10,1000,25,40,5

위 코드는 숫자를 크기에 따라 정렬하지 않는다는 점에 유의하세요. 이를 달성하려면 정렬 기능을 사용해야 합니다.

<script type="text/javascript">

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

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

</script>

출력:

10,5,40,25,1000,1
1,5,10,25,40,1000

js의 sort() 메서드를 사용하세요. 숫자 정렬

<script>
  var arr = [23,12,1,34,116,8,18,37,56,50];
  alert(arr.sort();
</script>

반환:

[1, 116, 12, 18, 23, 34, 37, 50, 56, 8]

위 내용은 배열 요소를 정렬하는 JavaScript 메서드 sort()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.