js如何获取数组对象中的最大时间最小时间?

例如

var array=[
            {
                "id": 119,
                "departDate":"2022-12-11",
                "arriveDate": "2022-12-15",
            },
            {
                "index_id": 120,
                "departDate":"2022-12-10",
                "arriveDate": "2022-12-13",
            },
            {
                "index_id": 121,
                "departDate":"2022-12-9",
                "arriveDate": "2022-12-20",
            }
        ];

这个数组对象departDate 取最小值,arriveDate取最大值,最后 departDate最小值应为2022-12-9,arriveDate最大值为2022-12-20,而且考虑到ios不会识别2022-12-15格式而是2022/12/15,应该如何处理呢?

阅读 4.5k
2 个回答
let mint = array.reduce((mint, item) => {
    let t = item.departDate
    return new Date(mint.replace(/\-/g, '/')) > new Date(t.replace(/\-/g, '/')) ? t : mint
}, array[0].departDate)

let maxt = array.reduce((maxt, item) => {
    let t = item.arriveDate
    return new Date(maxt.replace(/\-/g, '/')) < new Date(t.replace(/\-/g, '/')) ? t : maxt
}, array[0].arriveDate)
const min = Math.min(...array.map(item => new Date(item.departDate)));
const max = Math.max(...array.map(item => new Date(item.arriveDate)));

// const minDate = new Date(min);
// const maxDate = new Date(max);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题