자바스크립트의 reduce() 메소드를 사용하면 반환가능

 

reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

출처 : developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

 

reduce는 모든 요소를 반복해서, 비교하고(할 수 있고), 조건에 맞는 최종 요소 하나만을 리턴해줍니다.

 

 

// 정렬할 대상
var sDayList = new Array();

// 날짜를 입력합니다
sDayList.push("2020-12-27");
sDayList.push("2020-12-28");
sDayList.push("2020-12-29");
sDayList.push("2020-12-30");
sDayList.push("2020-12-31");


// 화살표 함수를 이용해서 콜백함수를 전달한다.
console.log(sDayList.reduce((prev,curr) => {
	// 이전것과 비교해 더 큰 것을 리턴
    return new Date(prev).getTime() <= new Date(curr).getTime() ? curr : prev;
}));

console.log(sDayList.reduce((prev,curr) => {
	// 이전것과 비교해 더 작은 것 리턴
    return new Date(prev).getTime() <= new Date(curr).getTime() ? prev : curr;
}));

// => 최종적으로 남은 하나만 리턴

결과 :

제일 큰 값과 제일 작은값 리턴받음

같은 방법으로 숫자나, 문자 등등도 조건만 잘 만들어주면 비교가 가능하다!