JS 그룹 sort의 비교 함수를 어떻게 씁니까
var a=[1,5,3,7];
a.sort(function(a, b) { return b-a});//큰 것 부터 작은 것 까지 배열 하다
그럼 복잡한 순서라면 이 비교 함수를 어떻게 써야 하나요?
비교 함수 function f (a, b) {...}의 경우정수를 되돌리면 a와 b는 교환이 필요하고 그렇지 않으면 교환하지 않는다는 것을 의미한다.그래서 우리는 아래의 형식에 따라 비교 함수를 모두 쓸 수 있다.
function f(a, b) {
if (...) {
return 1;
}
return -1;
}
그리고 우리가 해야 할 일은if안에 있는 조건을 쓰는 것이다. 이 조건은 a, b가 교환해야 하는 조건으로 돌아가는 것이다.예를 들어vara=["a", "A", "B", "b"];a.toString () 으로만 대소문자 구분 없이 큰 순서에서 작은 순서로 정렬합니다.toLowerCase() < b.toString().toLowerCase()는 a, b를 교환하기 때문에 이걸로 if 조건을 채우면 됩니다.비교 함수는 다음과 같습니다.
function f(a, b) {
if (a.toString().toLowerCase() < b.toString().toLowerCase()) {
return 1;
}
return -1;
}
다시 예를 들어 수조의 원소를 먼저 홀수 후 짝수 순서에 따라 배열하려면 a, b교환이 필요하면 a가 짝수이고 b가 홀수 조건만 만족시키면 된다. 다시 작은 것부터 큰 것까지 정렬하고 a, b가 모두 홀수 또는 짝수이고 a>b를 만족시키면 된다.다음과 같습니다.
var a = [1, 7, 3, 9, 5, 6, 2, 8, 4]; function f(a, b) { if (0 == a % 2 && 1 == b % 2) { return 1; } if ((1 == a % 2 && 1 == b % 2 || 0 == a % 2 && 0 == b % 2) && a > b) { return 1; } return -1; } alert(a.sort(f));
[Ctrl+A 전체 선택: 외부 Js를 가져오려면 새로 고쳐야 합니다.]
작성자: Jay Chow
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.