객체 배열의 다중 필드 정렬
객체 배열 내 여러 필드를 기반으로 정렬이 필요한 경우, 체인 정렬 접근 방식을 채택할 수 있습니다. 이 방법에는 0이 아닌 차이가 나올 때까지 각 필드의 값을 순서대로 비교하는 작업이 포함됩니다.
구현
다음 객체 배열을 고려하세요.
var homes = [ {"h_id":"3", "city":"Dallas", "state":"TX", "zip":"75201", "price":"162500"}, {"h_id":"4", "city":"Bevery Hills", "state":"CA", "zip":"90210", "price":"319250"}, {"h_id":"6", "city":"Dallas", "state":"TX", "zip":"75000", "price":"556699"}, {"h_id":"5", "city":"New York", "state":"NY", "zip":"00010", "price":"962500"} ];
도시(오름차순), 가격(내림차순)을 기준으로 이 배열을 정렬하려면 다음 정렬을 사용하세요. 함수:
data.sort(function (a, b) { return a.city.localeCompare(b.city) || b.price - a.price; });
설명
정렬 함수는 콜백을 인수로 사용하여 두 개체 a와 b를 비교합니다. 요소의 순서를 결정하는 값을 반환합니다.
출력 예
정렬 후 주택 배열은 다음과 같이 재배열됩니다. :
[{ "h_id": "3", "city": "Dallas", "state": "TX", "zip": "75201", "price": "162500" }, { "h_id": "6", "city": "Dallas", "state": "TX", "zip": "75000", "price": "556699" }, { "h_id": "4", "city": "Bevery Hills", "state": "CA", "zip": "90210", "price": "319250" }, { "h_id": "5", "city": "New York", "state": "NY", "zip": "00010", "price": "962500" }]
위 내용은 JavaScript에서 여러 필드를 사용하여 개체 배열을 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!