객체 배열을 여러 필드로 정렬하는 방법
다중 비교를 연결하면 객체 배열을 여러 필드로 정렬할 수 있습니다.
예
집을 나타내는 다음 객체 배열을 고려하세요.
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"} ];
이 배열을 도시별로(오름차순) 정렬한 다음 가격(내림차순)별로 다음을 사용하세요. 접근 방식:
homes.sort(function (a, b) { // Compare city fields var cityDelta = a.city.localeCompare(b.city); if (cityDelta !== 0) { // If cities differ, return comparison result return cityDelta; } // If cities are the same, compare prices in descending order return b.price - a.price; });
일반 접근 방식
이 접근 방식은 다양한 정렬 필드에 일반화될 수 있습니다. 원하는 정렬 필드를 원하는 순서로 반복하고 각 필드의 값을 비교합니다. 0이 아닌 델타가 발견되면 결과를 반환합니다. 그렇지 않으면 다음 필드로 계속 진행하세요.
위 내용은 여러 필드를 기준으로 개체 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!