给数组日期排序的2种方法

let dataArr = ["2021-05-22","2021-05-12","2021-05-18","2021-05-17","2021-05-19","2021-05-25"]

方法一:通过时间戳来比较大小返回从小到大的排序

let dataArr = ["2021-05-22","2021-05-12","2021-05-18","2021-05-17","2021-05-19","2021-05-25"];

function dataF(oldArr){

    let newArr = [];

    oldArr.forEach(item => {

        let obj = {

            date:item,

            temp:new Date(item).getTime()

        }

        newArr.push(obj);

    });

    let resultArr = newArr.sort(sortF);

    console.log(resultArr)

}

function sortF(a,b){

    return a.temp -b.temp;

    

}

dataF(dataArr);

最后将带有时间戳的数组对象,移除返回排序号的数组。(得到排序后的目标数组)

得到排序后的目标数组:

let  targetArr = [];

resultArr.forEach(item =>{

       targetArr.push(item.date)

})

方法二:

直接将需要排序的日期数组传到方法中使用sort进行排序。

let dataArr = ["2021-05-22","2021-05-12","2021-05-18","2021-05-17","2021-05-19","2021-05-25"];

function dataF(oldArr){

    let newArr = oldArr.sort(sortF);

    console.log(newArr)

}

function sortF(a,b){

    return new Date(a).getTime() - new Date(b).getTime();

}

dataF(dataArr);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值