按升序排序周数和年份
Sorting week number and year in ascending order
是否可以按升序对特定格式的日期数组进行排序?格式包括年份和星期数,如下所示:
未排序数组的摘录:
("2014 - 03","2013 - 01年","2013 - 02年","2014 - 03")
期望的排序数组结果:
["2013 - 01", "2013 - 02", "2014 - 03"]
我想使用比较函数来实现javascript和D3.js中的排序算法
试试这样:
var L = ["2014 - 03", "2013 - 01", "2013 - 02", "2014 - 03"]
L.sort(function(a, b){
var y1 = 1 * a.split(" - ")[0],
y2 = 1* b.split(" - ")[0],
m1 = 1 * a.split(" - ")[1],
m2 = 1 * b.split(" - ")[1];
if (y1 != y2) return d3.ascending(y1, y2);
else return d3.ascending(m1, m2);
});
可以使用内置的Array排序函数对数组进行排序,该函数采用一个可选函数来比较一对元素。然后可以使用d3.ascending
按年升序对元素排序,如果年份相同,则按月排序。
注意,我不确定您是否想要删除重复的元素,就像您在示例中所做的那样。您可以在数组排序之前或之后轻松地执行此操作(参见此SO答案):
L = L.filter(function(d, i){ return L.indexOf(d) == i; })
相关文章:
- 如何在javascript中获取一年中的周数,其中周日是一周中的第一天
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 如何在javascript中根据周数、工作日和年份获取日期
- 如何在JS中获取周数
- moment JS获得一个月中的周数
- 在瞬间js中计算周数不正确
- 如何使用 javascript 获取特定年份/月份的周数
- 通过选择从开始日期算起的周数或月数来自动结束日期
- 从周数生成日期.js
- 使用 JavaScript 获取给定的日期年份、周数、一周内的日数
- 根据年份和周数创建 URL,例如“2013-W32.html”
- 一年中获得周数
- 返回周数和天数
- 美国格式的周数
- Jquery FullCalendar,在输出中显示周数和日期名称
- 我想通过javascript或jquery显示/计算周数
- 如何获取本月的第一周数-javascript
- 将十进制的周数转换为分数
- 如何在asp.net/c#中从两个开始和结束自定义日期获取周数
- 按升序排序周数和年份