JavaScript의 정렬 메커니즘은 간단하고 사용하기 쉽지만 강력하고 유연한 기능이 포함되어 있습니다. 메소드는 배열을 알파벳순 또는 숫자로 분류 할 수있을뿐만 아니라 사용자 정의 조건부 논리에 따라 임의로 정렬 할 수 있습니다.
코어 포인트 : sort()
javaScript의 함수는 조건부 로직을 기반으로 정의 된 사용자 정의 순열을 포함하여 다양한 방식으로 배열을 구성하는 유연한 도구입니다.
기능은 각 작업에서 두 값 (A 및 B)을 비교하여 작동합니다. 함수가 0보다 작아지면 A는 0보다 크게 반환되면 B가 a;
JavaScript는 다차원 분류 및 다중 조건 분류를 지원합니다. 다차원 정렬에서는 어레이의 내부 값을 다중 조건 분류에서 비교하십시오. -
JavaScript는 객체 배열을 정렬 할 수도 있습니다. 비교가 더욱 복잡 해짐에 따라 다차원 배열 대신 객체 문자물 배열을 사용하는 것이 좋습니다. 이는 비교 기능을 쉽게 이해할 수 있도록합니다.
sort()
- 기능의 작동 방식 :
sort()
→ 기본 사항을 이미 알고 있다면이 섹션을 건너 뛸 수 있습니다. -
메소드가 매개 변수를 사용하지 않으면 배열은 사전 순서로 정렬됩니다 (사전 순서, 각 값은 문자열로 취급됩니다) : -
그렇지 않으면 메소드의 매개 변수는 반환 값에 따라 분류 동작을 정의하는 비교 함수입니다. 비교 함수 자체는 일반적으로 A와 B라고하는 두 개의 매개 변수를 허용하며, 각 작업에서 비교 한 두 값을 나타냅니다. 그런 다음 : <.>
함수 가 0보다 작게되면 a는 b 이전입니다.
함수 가 0 보다 크게되면 b는 a sort() 이전입니다.
함수가 0 를 반환하면 a와 b의 상대 위치는 변하지 않은 상태로 유지됩니다.
사양은 이러한 규칙을 혼란스러운 방식으로 정의합니다. JavaScript 사양은 첫 번째 정렬 조건 ""정렬 B를 A보다 낮은 인덱스로 호출합니다. 그러나 이것은 실제로 "랭크 B가 낮은 a"를 의미하는데, 이는 높음 인덱스이며 수치 지수의 측면에서는 낮지 않습니다. 그것은 "색인"이라는 단어를 매우 혼란스러운 방식으로 사용합니다.
따라서 비교 함수를 사용하는 일반적인 방법은 원하는 정렬 결과를 생성하기 위해 간단한 계산을 수행하고 반환하는 것입니다. 예를 들어, 함수가 반환되면 (a -b), 숫자 정렬이 생성됩니다.
우리는 이것을 값 예제로 설명 할 수 있습니다. sort()
따라서, 역수 순서는 방정식을 반전시킴으로써 생성 될 수있다 : .var letters = ["R","O","F","L"];
letters.sort();
alert(letters); // 输出 ["F","L","O","R"]
로그인 후 복사
우리는 또한 각 문자열 쌍을 평가하기 위해 세 가지 비교를 정의하여 사전 정렬을 생성하기위한 비교 함수를 만들 수 있습니다. 계산 용어 "a"는 "b"보다 작기 때문에 문자열을 직접 비교 한 다음 세 가지 정렬 된 값 중 하나를 반환 할 수 있습니다.
각 문자열을 사전에 소문자로 변환하는 방법에 유의하십시오. 이는 대소 문자를 사용하지 않도록합니다 (그렇지 않으면 상단 및 소문자는 별도로 정렬됩니다). 또한 일부 브라우저는 재정의 매개 변수를 허용하지 않기 때문에 이러한 작업 결과를 새로운 변수에 할당합니다.
var numbers = [8,5];
numbers.sort(function(a, b) {
return a - b;
});
alert(numbers); // 输出 [5,8]
로그인 후 복사
(다음 내용은 원래 텍스트와 동일합니다. 중복 부분은 여기에서 원래 텍스트와 일관성을 유지하기 위해 생략됩니다) .
다차원 정렬
다중 조건 분류
객체 배열 주문
안정적인 정렬에 대한 지침
요약 : 비교 함수를 정렬하는 데 특별한 것은 없으며, 작업을 수행하고 결과를 반환하는 정상적인 기능 일뿐입니다. 외부 데이터를로드하거나 테스트 렌더링 요소를 작성하거나 복잡한 작업을 수행 할 수 있습니다. 함수가 0보다 작고 0보다 큰 경우, 구현 프로세스에는 구체적인 제한이 없습니다!
썸네일 이미지의 출처 : [소렌]
고급 JavaScript 분류에 대한 FAQ (원래 FAQ 부품은 생략되고 복제를 피하십시오)
위 내용은 JavaScript의 정교한 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!