js对时间戳排序(升降排序)
2019-04-17 本文已影响3人
程序猿阿峰
来自一个前端代码搬运工的记录。
对 2019-04-17 22:50:20
这种时间格式进行排序,可能直接进行排序,会出现bug,不过你可以转为时间戳再对其排序,不过繁琐了点
/**
* 将 yyyy-MM-dd h:m:s 格式的时间转为时间戳
* time -> YYYY-MM-DD hh:mm:ss 格式的字符串
*/
functiion formDate (time) {
const thisTime = time.replace(/ /g, '/')
var nowTime = new Date(thisTime)
nowTime = nowTime.getTime()
return nowTime
}
// 对一下数组排序
const arr = [
{
id: 1,
good: '矿泉水',
payTime: '2019-03-04 10:30:40',
orderNum: '订单编号1'
},
{
id: 2,
good: '冰糖水',
payTime: '2019-03-19 11:30:40',
orderNum: '订单编号2'
},
{
id: 3,
good: '红糖水',
payTime: '2019-03-03 11:14:30',
orderNum: '订单编号1'
},
{
id: 4,
good: '黑糖水',
payTime: '2019-02-01 08:10:50',
orderNum: '订单编号1'
}
]
// 降序排序
const newArr = arr.sort((a, b) => formDate(a.payTime) > formDate(b.payTime) ? 1 : -1)
console.log(newArr)
// 升序排序
const newArr1 = arr.sort((a, b) => formDate(b.payTime) > formDate(a.payTime) ? 1 : -1)
console.log(newArr1)
升序排序
未排序之前
排序之后
排序之后降序排序
未排序之前
排序之后
结果是出来了,你是否更好的方法呢。
记录于 2019-4-17 23:27