Javascript-根据当前月份按时间顺序对月份数组进行排序

Javascript-根据当前月份按时间顺序对月份数组进行排序,javascript,Javascript,我有一个javascript的月份列表。我想根据当前日期按时间顺序排序 范例 monthsArr=[三月、二月、十一月、十二月、一月] 如果当前月份为11月,则排序的数组应为[11月、12月、1月、2月、3月] 如果当前月份为一月,则排序的数组应为[Jan、Feb、Mar、Nov、Dec] 不要担心到枚举或键值对的转换。这是可以处理的。我要寻找的是如何实现此排序功能的逻辑。如下所示: 风险值月份= { 一月零日, 二月一日, 三月二日, 四月三日, 五月四日, //et&c 11月10日, 十

我有一个javascript的月份列表。我想根据当前日期按时间顺序排序

范例 monthsArr=[三月、二月、十一月、十二月、一月]

如果当前月份为11月,则排序的数组应为[11月、12月、1月、2月、3月]

如果当前月份为一月,则排序的数组应为[Jan、Feb、Mar、Nov、Dec]

不要担心到枚举或键值对的转换。这是可以处理的。我要寻找的是如何实现此排序功能的逻辑。

如下所示:

风险值月份= { 一月零日, 二月一日, 三月二日, 四月三日, 五月四日, //et&c 11月10日, 十二月十一日 }; var monthsArr=[三月、二月、十一月、十二月、一月]; var月=新日期。getMonth; monthsArr.sortfunctionm1,m2 { 风险值n1=月[m1],n2=月[m2]; 如果n1<一个月 { n1=n1+12; } 如果n2<一个月 { n2=n2+12; } 返回n1-n2; };
console.logmonthsArr 我建议您获取本月的指数, 然后使用数组切片从该索引开始重新组合数组:

var m=[一月、二月、三月、四月、五月、六月、七月、八月、九月、十月、十一月、十二月] var cur=new Date.getMonth 变量排序=[…m.slicecur,…m.slice0,cur]
console.logsorted您可以将一个对象作为月份值,并将想要的月份作为第一个月份,然后通过检查实际月份是否小于第一个月或按月份值进行排序

首先是Sortaray函数{ var月={1月1日、2月2日、3月3日、4月4日、5月5日、6月6日、7月7日、8月8日、9月9日、10月10日、11月11日、12月12日}; return array.sorta,b=> 月[a]<月[1]-月[b]<月[1]|| 月[a]-月[b] ; } log…sort[三月、二月、十一月、十二月、一月]、十一月; log…sort[三月、二月、十一月、十二月、一月]、一月;