js中多个时间,怎么取最小值

['2020-9-1','2020-9-2','2020-9-3']
怎么取最小的时间
阅读 5.2k
4 个回答

转时间戳排序:

array.sort((a, b) => (new Date(a)).valueOf() - (new Date(b)).valueOf())[0];

或者转时间戳取最小值(推荐):

Math.min.apply(null, array.map(item => (new Date(item)).valueOf()));

排个序

arr.sort((a, b) => {
    return new Date(a).getTime() - new Date(b).getTime()
})

首先说一下 如果只是业务中遇到。楼上的几个说法已经够用了。
但是如果是 在刷题。那么思路还是操作字符串,而不是当成时间来看

function getMin(arr: string[]): string {
    return arr.reduce((last, current) => {
        return new Date(last).getTime() > new Date(current).getTime() ? current : last
    })
}

console.log('min:', getMin(['2020-9-1', '2020-9-2', '2020-9-3']))

console.log('min:', getMin(['2020-10-15', '2015-3-6', '2020-9-3']))

我也写个思路,反正题目也不复杂,题主你咋自己想想先写个暴力循环的呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏