How to select Min/Max dates in an array using JavaScript ?
Last Updated :
08 Jan, 2024
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:
Example: In this example, the maximum and minimum date is determined by the above approach.
Javascript
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)
- Get the JavaScript dates in an array.
- Use reduce() method in an array of dates and define the respective function for the maximum and minimum dates.
Example: In this example, the maximum and minimum date is determined by the above approach.
Javascript
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)
Example: In this example, we are using sort() Method.
Javascript
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
Share your thoughts in the comments
Please Login to comment...