자바스크립트 배열 정렬 (Sorting Arrays)

배열 정렬(Sorting an Array)

sort() 메소드는 배열을 알파벳 순으로 정렬합니다:

Example


배열 내림차순 정렬(Reversing an Array)

reverse() 메소드는 배열의 요소(elements)를 역순으로 정렬합니다.

이것으로 배열을 내림차순으로 정 할 수 있습니다:

Example


숫자 정렬(Numeric Sort)

기본적으로 sort() 함수는 값을 문자열(strings)로 정렬합니다.

이것은 문자열에서 잘 작동합니다 (“Apple”은 “Banana”앞에옵니다).

그러나 숫자를 문자열로 정렬하면 “2”가 “1”보다 크기 때문에 “25”는 “100”보다 큽니다.

이 때문에 sort() 메소드는 숫자를 정렬할 때 잘못된 결과를 생성합니다.

compare 함수(function)로 이 문제를 해결할 수 있습니다:

Example

배열을 오름차순으로 정렬하려면 버튼을 클릭하십시오.

동일한 트릭을 사용하여 배열을 내림차순으로 정렬합니다:

Example

배열을 내림차순으로 정렬하려면 버튼을 클릭하십시오.


비교 함수(The Compare Function)

compare 함수는 다른 방법으로 정렬 순서를 정의하기 위해 사용합니다.

compare 함수는 인수(argument)에 따라 음수, 0 또는 양수 값을 반환해야합니다:

sort() 함수는 두 값을 비교할 때 비교 함수에 값을 보내고 반환된 값(음수, 양수, 양수)에 따라 값을 정렬합니다.

Example:

40과 100을 비교할 때 sort() 메소드는 compare function(40,100)를 호출합니다.

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

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

다음 코드를 사용하여 숫자 및 알파벳 순 정렬해 볼 수 있습니다:

배열을 알파벳 순 또는 숫자 순으로 정렬하려면 버튼을 클릭하십시오.


 


무작위 순서로 배열 정렬(Sorting an Array in Random Order)

Example

임의의 순서(random order)로 배열을 정렬하려면 버튼을 클릭(반복적으로)하십시오.


배열의 최대값(또는 최저값) 찾기

배열에서 최대값 또는 최소값을 찾는 기본 제공 내장 함수는 없습니다.

그러나 배열을 정렬 한 후에 인덱스를 사용하여 최대값과 초소값을 얻을 수 있습니다.

오름차순 정렬:

Example

최소값은 입니다.

내림차순 정렬:

Example

최대값은 입니다.


배열에 Math.max()사용

Math.max.apply를 사용하여 배열의 최대값 찾을 수 있습니다:

Example

최대값은 입니다.

Math.max.apply ([1, 2, 3])는 Math.max (1, 2, 3)와 같습니다.


배열에 Math.min() 사용

Math.min.apply를 사용하여 배열에서 최소값을 찾을 수 있습니다:

Example

최소값은 입니다.

Math.min.apply ([1, 2, 3])는 Math.min (1, 2, 3)과 동일합니다.


나의 Min/Max 자바스크립트 메소드(Methods)

가장 빠른 해결책은 “직접 만든(home made)” 메소드(method)입니다.

이 함수는 각 값을 발견된 최대값과 비교하면서 배열을 반복(loops through)합니다:

Example (Find Max)

최대값은 입니다.

이 함수는 각 값을 찾은 최소값과 비교하는 배열을 반복(loops through)합니다:

Example (Find Min)

최소값은 입니다.


객체 배열 정렬(Sorting Object Arrays)

자바 스크립트 배열은 종종 객체(objects)를 포함합니다:

Example

객체에 다른 데이터 유형(different data types)의 속성(properties)이 있더라도 sort() 메소드를 사용하여 배열을 정렬할 수 있습니다..

해결 방법은 속성 값(property values)을 비교하는 비교 함수(compare function)를 작성하는 것입니다:

Example

문자열 속성(string properties) 비교는 좀 더 복잡합니다:

Example

type의 car 객체(objects)를 정렬하려면 버튼을 클릭하세요.

출처: JavaScript Sorting Arrays

댓글 남기기