이 기사에서는 JS가 Array.prototype.sort ()를 사용하여 배열 객체를 정렬하는 방법에 대해 설명합니다. 참조를 위해 공유하십시오. 특정 분석은 다음과 같습니다.
배열 객체를 정렬 할 때 먼저 Array.prototype.sort ()를 간략하게 이해합시다. 정렬 메소드는 매개 변수 - 함수를 허용합니다. 이 함수는 각각 비교되는 두 가지 요소의 두 매개 변수를 각각 제공합니다. 요소가 문자열 인 경우 유니 코드를 통해 비교됩니다. 숫자 인 경우 값의 크기를 비교합니다. 비교 된 함수에서 1이 반환되면 두 요소가 교환되고 0과 -1은 교환되지 않습니다. 예를 살펴 보겠습니다.
코드 사본은 다음과 같습니다. var arr = [3, 5, 2, 1];
// 작은 것에서 크게 정렬합니다
arr.sort (function (a, b) {
a> b? 1 : -1;
});
// 결과는 다음과 같습니다. [1, 2, 3, 5]
그래서 우리의 주제로 돌아가서 배열 객체를 정렬하면 어떻게 작성해야합니까? 실제로 원칙은 위와 같은 것과 같습니다.
다음과 같이 코드를 복사하십시오 : var arr = [
{a : 2, b : 3.2},
{a : 3, b : 1.2},
{a : 4, b : 2.2},
{a : 6, b : 1.2},
{A : 5, B : 3.2}
]]
/// 속성 B별로 정렬
arr.sort (function (x, y) {
xb> yb를 반환 하시겠습니까? 1 : -1;
});
X와 Y는 ARR의 요소, 즉 객체의 요소이므로 두 객체의 속성을 직접 비교할 수 있습니다.
위의 예에서는 가장 작은 요소에 중복이 있습니다. 요구 사항이 : B 속성에 따라 작고 작은 것부터 먼저 정렬되고, 가장 작은 중복이있는 경우 A 속성으로 정렬하면 어떻게 작성해야합니까?
정렬 할 때 먼저 B 속성별로 정렬하십시오. XB가 YB보다 큰 경우 X를 Y의 오른쪽으로 이동하십시오. XB가 YB와 같으면 XA 및 YA와 비교하십시오. 따라서 코드는 다음과 같습니다.
다음과 같이 코드를 복사하십시오. arr.sort (function (x, y) {
if (xb> yb) {
반환 1;
} else if (xb === yb) {
XA> YA를 반환합니까? 1 : -1;
} else if (xb <yb) {
반품 -1;
}
})
이 기사가 모든 사람의 JavaScript 프로그래밍에 도움이되기를 바랍니다.