여러 열로 다차원 배열 정렬
JavaScript에서는 Array.sort() 함수를 사용하여 문자열 배열을 쉽게 정렬할 수 있습니다. . 그러나 다차원 배열의 경우 또는 여러 기준에 따라 정렬하는 경우 사용자 지정 함수가 필요합니다.
다음 구조의 배열을 고려하세요.
[publicationID][publication_name][ownderID][owner_name]
목표는 배열을 정렬하는 것입니다. owner_name을 기준으로 한 다음 Publication_name을 기준으로 합니다. 그러면 동일한 이름을 가진 소유자가 함께 그룹화되고 각 그룹 내의 출판물이 알파벳순으로 정렬됩니다.
이전에 mysortfunction이라는 사용자 정의 정렬 함수가 도입되어 배열을 정렬했습니다. 단일 열인 owner_name을 기반으로 합니다. 다중 열 정렬을 위해 이 기능을 확장하려면 다음과 같이 수정하면 됩니다.
<code class="javascript">function mysortfunction(a, b) { var o1 = a[3].toLowerCase(); var o2 = b[3].toLowerCase(); var p1 = a[1].toLowerCase(); var p2 = b[1].toLowerCase(); if (o1 < o2) return -1; if (o1 > o2) return 1; if (p1 < p2) return -1; if (p1 > p2) return 1; return 0; }</code>
이 업데이트된 함수에서:
먼저 소유자 이름을 비교합니다. 서로 다른 경우 함수는 -1 또는 1을 반환하여 어느 것이 다른 것보다 앞에야 하는지를 나타냅니다.
그러나 소유자 이름이 동일하면 함수는 출판물 이름을 비교합니다. 이 경우 순서를 지정하기 위해 -1 또는 1을 반환합니다.
두 비교 결과가 동일하면 함수는 0을 반환하여 두 요소가 동일하며 원래 순서를 유지해야 함을 나타냅니다.
이 사용자 정의 함수를 사용하여 배열을 정렬하면 owner_name을 기준으로 정렬한 다음 Publication_name을 기준으로 정렬하려는 목표가 달성됩니다. 동일한 이름을 가진 소유자는 함께 그룹화되며 각 그룹 내의 출판물은 알파벳순으로 나열됩니다.
위 내용은 여러 열로 다차원 JavaScript 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!