함수형 언어들이 기본적으로 제공하는 map, reduce, filter 등과 같은 함수들을 많이 공부하신다면 더 쉽고 보기 좋은 코드를 만드실 수 있습니다.
filter 함수를 이용하면 질문자님께서 원하시는 대로 배열의 특정 원소(최근 10일 안에 작성된 글)만을 리턴하도록 할 수 있습니다.
const now = new Date()
{articles.filter((article) => {
const createdAt = new Date(article.createdAt) // 문자열을 Date 객체로 변환
createdAt.setDate(createdAt.getDate() + 10) // 10일을 추가
createdAt.setHours(0) // 시간을 00:00:00 으로 맞춤
createdAt.setMinutes(0) // setHours, setMinutes, setSeconds, setMilliseconds 등으로 초기화는 필요에 따라 할 수도 있고 안 할 수도 있음
createdAt.setSeconds(0)
createdAt.setMilliseconds(0)
return createdAt > now // 생성일에 10일 더한 날짜가 현재보다 크다면 10일 이내에 작성된 글임. 리턴값이 true 인 article 들만 모아 배열로 리턴
}).map((article) =>(
<div>{article.title}</div>
))}