>웹 프론트엔드 >JS 튜토리얼 >키를 사용하여 날짜 값별로 개체를 정렬하는 방법은 무엇입니까?

키를 사용하여 날짜 값별로 개체를 정렬하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-02 21:41:30814검색

How to Sort Objects by Date Value Using a Key?

키를 사용하여 날짜 값별로 개체 정렬

다음과 같은 날짜 값이 있는 단일 키로 개체 배열을 효율적으로 정렬하려면 'updated_at', 내장된 Array.sort 메소드를 활용할 수 있습니다. 다음 배열을 고려하십시오.

[
    {
        "updated_at" : "2012-01-01T06:25:24Z",
        "foo" : "bar"
    },
    {
        "updated_at" : "2012-01-09T11:25:13Z",
        "foo" : "bar"
    },
    {
        "updated_at" : "2012-01-05T04:13:24Z",
        "foo" : "bar"
    }
]

'updated_at'을 기준으로 이러한 객체를 오름차순으로 정렬하려면 정렬 방법과 함께 다음 사용자 정의 비교기 함수를 사용할 수 있습니다.

var arr = [{
    "updated_at": "2012-01-01T06:25:24Z",
    "foo": "bar"
  },
  {
    "updated_at": "2012-01-09T11:25:13Z",
    "foo": "bar"
  },
  {
    "updated_at": "2012-01-05T04:13:24Z",
    "foo": "bar"
  }
]

arr.sort(function(a, b) {
  var keyA = new Date(a.updated_at),
    keyB = new Date(b.updated_at);
  if (keyA < keyB) return -1;
  if (keyA > keyB) return 1;
  return 0;
});

console.log(arr);

여기서 비교기 함수에서는 Date() 생성자를 사용하여 'updated_at' 값을 Date 객체(keyA 및 keyB)로 변환합니다. 그런 다음 비교 연산자(<, > 및 ==)를 사용하여 이러한 Date 객체를 비교합니다. keyA가 keyB보다 이전인 경우 함수는 -1을 반환하며 이는 배열의 개체를 교체해야 함을 나타냅니다. keyA가 keyB보다 이후이면 함수는 1을 반환하여 정렬된 배열에서 keyA가 keyB 뒤에 나타나도록 합니다. 반환 값 0은 개체가 동일한 위치에 있고 교체가 필요하지 않음을 나타냅니다.

이 정렬 기술은 'updated_at' 날짜 값을 기준으로 개체를 오름차순으로 효율적으로 정렬합니다. 내림차순과 같은 다양한 정렬 순서를 얻기 위해 비교 연산자를 수정할 수 있습니다.

위 내용은 키를 사용하여 날짜 값별로 개체를 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.