> 웹 프론트엔드 > JS 튜토리얼 > 여러 필드를 기준으로 개체 배열을 정렬하는 방법은 무엇입니까?

여러 필드를 기준으로 개체 배열을 정렬하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-18 06:32:14
원래의
851명이 탐색했습니다.

How to Sort an Array of Objects by Multiple Fields?

객체 배열을 여러 필드로 정렬하는 방법

다중 비교를 연결하면 객체 배열을 여러 필드로 정렬할 수 있습니다.

집을 나타내는 다음 객체 배열을 고려하세요.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿