JavaScript에서 날짜순으로 정렬

Shraddha Paghdar 2023년10월12일
JavaScript에서 날짜순으로 정렬

정렬이란 데이터 항목 간의 선형 관계에 따라 오름차순 또는 내림차순으로 데이터를 정렬하는 것을 의미합니다. 이름, 번호, 날짜 및 항목 유형별로 정렬할 수 있습니다.

오늘 포스팅에서는 JavaScript에서 날짜별로 오름차순 또는 내림차순으로 정렬하는 방법에 대해 알아보겠습니다.

JavaScript에서 날짜순으로 정렬

데이터 구조에는 여러 유형의 정렬 알고리즘이 있습니다. 이러한 알고리즘 중 일부는 다음과 같습니다.

  1. 삽입정렬
  2. 병합 정렬
  3. 퀵 정렬
  4. 기수 정렬
  5. 힙 정렬
  6. 선택 정렬
  7. 버블 정렬

JavaScript는 배열의 요소를 정렬하고 정렬된 배열을 반환하는 내장된 sort() 메서드를 제공합니다. 기본 정렬 순서는 오름차순입니다.

내림차순으로 정렬하려면 함수를 작성할 수 있습니다. 이 메서드는 요소를 문자열로 변환하고 해당 UTF16 코드 단위 값 시퀀스를 비교합니다.

통사론:

sort()
sort((a, b) => {/* write logic here */})
sort(compareFunction)
sort(function compareFunction(a, b) { /* write logic here */ })

sort() 메서드는 ab라는 두 개의 인수를 사용합니다.

‘CompareFunction’은 선택적 매개변수입니다. 정렬 순서를 정의하는 함수를 지정합니다.

전달되지 않으면 배열 요소가 문자열로 변환되고 각 문자의 유니코드 포인트 값을 기준으로 정렬됩니다. 이 함수를 지정하면 기본적으로 서로 비교해야 하는 2개의 입력 배열 요소를 사용합니다.

이 함수는 원본 배열을 변경하고 복사본을 만들지 않습니다.

sort() 메서드에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

날짜를 오름차순과 내림차순으로 비교하는 예제를 만들어 봅시다.

예:

const datesArray1 = ['2022-03-14', '2022-04-14', '2022-01-14'];
const datesArray2 = ['2022-03-14', '2022-04-14', '2022-01-14'];
const ascDates = datesArray1.sort((a, b) => {
  return new Date(a).getTime() - new Date(b).getTime();
});
const descDates = datesArray2.sort((a, b) => {
  return new Date(b).getTime() - new Date(a).getTime();
});
console.log(ascDates);
console.log(descDates);

이 예에서는 세 개의 날짜를 정의했습니다. 비교 함수에서 먼저 문자열 날짜를 날짜 개체로 변환한 다음 에포크 이후의 밀리초 수를 계산했습니다.

아무 브라우저에서나 위의 예제를 실행해 보십시오. 아래 결과를 인쇄합니다.

출력:

["2022-01-14", "2022-03-14", "2022-04-14"]
["2022-04-14", "2022-03-14", "2022-01-14"]

이 예제의 전체 코드는 여기에서 액세스할 수도 있습니다.

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

관련 문장 - JavaScript Sort