ONELINER :
var min=dates.sort((a,b)=>a-b)[0], max=dates.slice(-1)[0];
результат в переменных min
и max
, сложность O (nlogn) , редактируемый пример здесь .Если ваш массив содержит значения без даты (например, null
), сначала очистите его с помощью dates=dates.filter(d=> d instanceof Date);
.
var dates = [];
dates.push(new Date("2011-06-25")); // I change "/" to "-" in "2011/06/25"
dates.push(new Date("2011-06-26")); // because conosle log write dates
dates.push(new Date("2011-06-27")); // using "-".
dates.push(new Date("2011-06-28"));
var min=dates.sort((a,b)=>a-b)[0], max=dates.slice(-1)[0];
console.log({min,max});