派大星爱吃小鱼干

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

上一篇 下一篇

猜你喜欢

热点阅读