개발/JavaScript

[JS] 날짜 데이터 필터링해서 조회하기

Zaein 2024. 9. 10. 17:41

코드짜면서 은근 생각 안나서 메모,,

 

 

1. 한 날짜에 대해 사잇값 찾기

예)

const companyList = [
  {
    companyName: "Tech Innovators",
    foundingDate: "2010-09-15",
    employeeCount: 250
  },
  {
    companyName: "Creative Solutions",
    foundingDate: "2015-06-22",
    employeeCount: 150
  },
  {
    companyName: "NextGen Labs",
    foundingDate: "2018-11-30",
    employeeCount: 100
  }
];

 

위와 같은 회사들에 대한 데이터가 있을때

창립기념일이 2010-01-01 ~ 2016-01-01 사이인 회사들만 조회하려면

 

const startDate = new Date("2010-01-01");
const endDate = new Date("2016-01-01");

const filteredCompanies = companyList.filter(company => {
  const foundingDate = new Date(company.foundingDate);
  return foundingDate >= startDate && foundingDate <= endDate;
});

이런 식으로

 

창립기념일 >= 조건시작일 && 창립기념일 <= 조건종료일

을 해주면 된다.

 

 

 

 

2. 범위값에 대한 사잇값 찾기

예)

const closedStores = [
  {
    storeName: "Sunny Cafe",
    openingDate: "2015-04-10",
    closingDate: "2020-12-31",
    storeCategory: "Cafe"
  },
  {
    storeName: "Fresh Mart",
    openingDate: "2010-05-15",
    closingDate: "2018-08-25",
    storeCategory: "Grocery"
  },
  {
    storeName: "Tech Haven",
    openingDate: "2012-09-01",
    closingDate: "2019-05-10",
    storeCategory: "Electronics"
  },
  {
    storeName: "Book Nook",
    openingDate: "2013-11-20",
    closingDate: "2021-02-15",
    storeCategory: "Bookstore"
  }
];

위와같은 폐업한 가게들의 정보들이 있을때

가게를 운영했던 기간이 2019-01-01 ~ 2021-01-01 인 가게들만 조회하려면

 

const startDate = new Date("2019-01-01");
const endDate = new Date("2021-01-01");

const filteredStores = closedStores.filter(store => {
  const openingDate = new Date(store.openingDate);
  const closingDate = new Date(store.closingDate);
  
  return closingDate >= startDate && openingDate <= endDate;
});

이런 식으로

폐업일 >= 조건시작일 && 개업일 <= 조건종료일

을 해주면 된다!

'개발 > JavaScript' 카테고리의 다른 글

.map() 및 JavaScript 배열 메소드 (1)  (0) 2023.08.10
소셜로그인 구현 시 작동 순서 및 과정  (0) 2023.06.07
스프레드 연산자와 나머지 연산자  (0) 2023.04.14
'초기화' 란?  (0) 2023.04.11
이벤트루프 란?  (0) 2023.03.25