테이블 분류와 관련하여 가장 먼저 이야기해야 할 것은 배열 정렬이 테이블 분류의 기초이기 때문에 배열 정렬입니다.
JavaScript는 테이블 분류의 배열에 대한 정렬 () 메소드를 제공합니다. 기본적 으로이 방법은 ASCII 코드 순서대로 배열로 배열을 배열합니다. JavaScript는 또한 배열에 대한 배열 리버스 () 메소드를 제공합니다.
예를 살펴보십시오.
코드 사본은 다음과 같습니다.
함수 SORTARRAY () {
var arraytest = [ "z", 5,2, "a", 32,3];
ArrayTest.sort ();
alert (arraytest.toString ()); // 출력 : 2,3,32,5, A, Z
ArrayTest.Reverse ();
alert (arraytest.toString ()); // 출력 : Z, A, 5,32,3,2
}
SortArray ();
하하, 5는 32보다 크다. 이것이 우리가 원하는 결과가 아니라는 것은 분명하다. 방금 정렬 () 메소드가 ASCII 코드 순서로 정렬된다고 말했습니다.
실제로, 정렬 () 메소드는 또한 함수 유형 매개 변수를 가져갈 수 있으며, 이는 비교 함수를 호출 할 수 있습니다. 비교 함수가 두 매개 변수를받을 수있는 경우 다음 함수는 값의 의미를 반환합니다.
코드 사본은 다음과 같습니다.
-1 : 첫 번째 매개 변수는 두 번째 매개 변수보다 작습니다.
0 : 첫 번째 매개 변수는 두 번째 매개 변수와 같습니다.
1 : 첫 번째 매개 변수는 두 번째 매개 변수보다 큽니다.
코드 사본은 다음과 같습니다.
/**
* 비교 함수
* @param {object} param1 param1을 비교합니다
* @param {object} param2 param2를 비교합니다
* @return {number} if param1> param2가 반환됩니다
* PARAM1 == PARAM2가 0을 반환하는 경우
* param1 <param2가 -1을 반환하는 경우
*/
함수 compralefunc (param1, param2) {
// 두 매개 변수가 문자열 유형 인 경우
if (typeof param1 == "String"&& typeof param2 == "String") {
Return Param1.localecompare (param2);
}
// 매개 변수 1이 숫자 인 경우 매개 변수 2는 문자열입니다.
if (typeof param1 == "number"&& typeof param2 == "String") {
반품 -1;
}
// 매개 변수 1이 문자열 인 경우 매개 변수 2는 숫자입니다.
if (typeof param1 == "String"&& typeof param2 == "숫자") {
반환 1;
}
// 두 매개 변수 모두 숫자 인 경우
if (typeof param1 == "number"&& typeof param2 == "number") {
if (param1> param2) 반환 1;
if (param1 == param2) 반환 0;
if (param1 <param2) return -1;
}
}
arraytest.sort (compresefunc)를 실행하면 올바른 결과가 나타납니다.
이 시점에서, 우리는 localeCompare () 메소드의 사용법을 설명해야합니다.이 방법은 문자열을 정렬하는 메소드, 즉 하나의 매개 변수, 즉 비교할 문자열 만 사용하는 방법을 설명해야합니다.
구체적인 설명은 다음과 같습니다.
1. 매개 변수의 문자열 전에 문자열 객체가 알파벳순으로 배열되면 음수를 반환합니다.
2. 매개 변수의 문자열 다음에 문자열 객체가 문자 순서로 배열되면 양수를 반환합니다.
3. 문자열 객체가 매개 변수의 문자열과 같으면 0을 반환합니다.
또한 LocalEcompare () 메소드에는 또 다른 고유 한 기능이 있습니다. 이 고유 한 기능은 메소드 시그니처 로케일 (현장, 로컬)에 반영 될 수 있습니다. 즉, 구현은 지역 특성을 기반으로합니다. 영어 시스템에서 구현이 오름차순으로 오름차순 일 수 있으며 중국어로서 구현은 첫 번째 문자의 Pinyin을 기반으로합니다.
하하, 이것은 우리가 프로그램에 한자를 참여하더라도 우리의 분류가 잘못되지 않을 것임을 의미합니다.
다음 프로그램을 참조하십시오.
코드 사본은 다음과 같습니다.
var testarray = [ "foot", "book", "ite", "home"];
document.write (testarray.sort (
함수 비교 기능 (param1, param2) {
Return Param1.localecompare (param2); // 출력 : :, 집, 책, 발
}
));