Open In App

How to select Min/Max dates in an array using JavaScript ?

Given an array of JavaScript date. The task is to get the minimum and maximum date of the array using JavaScript. 

Below are the following approaches:



Approach 1: Using Math.max.apply() and Math.min.apply() Methods

Example: In this example, the maximum and minimum date is determined by the above approach. 






let dates = [];
 
dates.push(new Date("2019/06/25"));
dates.push(new Date("2019/06/26"));
dates.push(new Date("2019/06/27"));
dates.push(new Date("2019/06/28"));
 
function GFG_Fun() {
    let maximumDate = new Date(Math.max.apply(null, dates));
    let minimumDate = new Date(Math.min.apply(null, dates));
 
    console.log("Max date is - " + maximumDate);
    console.log("Min date is - " + minimumDate);
}
GFG_Fun();

Output
Max date is - Fri Jun 28 2019 00:00:00 GMT+0000 (Coordinated Universal Time)
Min date is - Tue Jun 25 2019 00:00:00 GMT+0000 (Coordinated Universal Time)

Approach 2: Using reduce() method

Example: In this example, the maximum and minimum date is determined by the above approach. 




let dates = [];
 
dates.push(new Date("2019/06/25"));
dates.push(new Date("2019/06/26"));
dates.push(new Date("2019/06/27"));
dates.push(new Date("2019/06/28"));
 
function GFG_Fun() {
    let mnDate = dates.reduce(function (a, b) {
        return a < b ? a : b;
    });
 
    let mxDate = dates.reduce(function (a, b) {
        return a > b ? a : b;
    });
 
    console.log("Max date is - " + mxDate);
    console.log("Min date is - " + mnDate);
}
GFG_Fun();

Output
Max date is - Fri Jun 28 2019 00:00:00 GMT+0000 (Coordinated Universal Time)
Min date is - Tue Jun 25 2019 00:00:00 GMT+0000 (Coordinated Universal Time)

Approach 3: Using Spread Operator

Example: In this example, we are using sort() Method.




let dates = [new Date('2022-01-01'), new Date('2022-03-15'), new Date('2022-02-10')];
let minDate = new Date(Math.min(...dates));
let maxDate = new Date(Math.max(...dates));
console.log(minDate);
console.log(maxDate);

Output
2022-01-01T00:00:00.000Z
2022-03-15T00:00:00.000Z

Article Tags :