已知其中一个年份和月份 如何点击按钮后得到上一个月

已知其中一个年份和月份 如何点击按钮后得到上一个月
图片描述

后台给的接口 没有什么思路 希望大神指点

阅读 2.8k
3 个回答

1.先把key值取出按照年份来做排序
2.根据排序将年和月份进行组合
3.按照一定组合的顺序组成数组
4.在数组中根据条件找到已知年月的相对位置
下面的代码给出一个思路

var data = {
    2013: ["01"],
    2014: ['04', '05', '06'],
    2016: ['10', '11'],
    2015: ['04', '09']
}
var arr = Object.keys(data).sort((a, b) => a - b)
var flatten = arr.reduce((a, b) => {
    data[b].forEach(ele => a.push(b + '-' + ele))
    return a
}, [])
console.log(flatten)
// ["2013-01", "2014-04", "2014-05", "2014-06", "2015-04", "2015-09", "2016-10", "2016-11"]

moment.js,你值得拥有

把年份和月份组成字符串,然后初始化为Date对象。

var dateStr = '2017/3/30';
var prevMonth = new Date(dateStr).getMonth();

JavaScript中有自带的获取Date对象月份的方法,不过返回值是从0开始的,

也就是说1月返回的为0.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题