使用JavaScript找到最小或最大日期

从根本上讲,JavaScript的Date对象只是表示时间戳的数字。这意味着,就像其他任何数字一样,您可以比较它们并对它们进行数学运算。

基于这个观察,我们可以使用Math.min()Math.max()方法来找到日期数组中的最小或最大日期。由于这些函数接受任意数量的参数,我们可以使用扩展运算符(...)将日期作为单独的参数传递。

const minDate = (...dates) => new Date(Math.min(...dates));
const maxDate = (...dates) => new Date(Math.max(...dates));

const dates = [
  new Date('2017-05-13'),
  new Date('2018-03-12'),
  new Date('2016-01-10'),
  new Date('2016-01-09')
];
minDate(...dates); // 2016-01-09
maxDate(...dates); // 2018-03-12