javascript - lodash - 具有跳过年份值的订单日期

标签 javascript sorting momentjs lodash

var dates = ['2017-02-01', '2017-01-01', '2016-02-03', '2018-02-02', '2014-12-25'];
var orderedDates = dates.sort(); // ['2017-01-01', '2017-02-01', '2018-02-02', '2016-02-03', '2014-12-25']

我收集了不同年份的日期(时刻对象)。我只需要按“ddMM”格式对这些日期进行排序(例如跳过年份)。

有什么办法可以做到这一点吗?

创建日期数组的副本,为所有日期设置同一年份 - 似乎不是一个好的解决方案。

排序使用lodash .orderBy

最佳答案

您应该使用“MMDD”格式,而不是“DDMM”。

并且没有必要将其转换回时刻,因为它只是对数组进行排序。

var orderedDates = _.orderBy(dates, e => moment(e).format('MMDD'));

关于javascript - lodash - 具有跳过年份值的订单日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53934780/

相关文章:

javascript - Q.js 可以不用 node.js 和 require 吗?

javascript - $http.get 来自 2 个 jsons Angular

HTML 表格排序

javascript - 如何将分钟转换为 HH :mm with moment plugin

javascript - 如何使用 moment.js 以日期格式自定义年份格式?

javascript - 使用 moment 将日期时间字符串格式转换为本地日期时间浏览器

php - php中的多个输入

javascript - 是否可以使用 Javascript 从网络文件系统读取文件?

jquery - dataTables排序顺序描述问题

algorithm - QuickSort Dijkstra 三向分区 : why the extra swapping?