生成 365 天日期数组并填充已有日期
如何编写一个 JavaScript 函数来生成包含 365 天日期的数组,并根据提供的已有日期数组填充相应位置?
假设已有日期数组为:
let arr = ["2019/1/1", "2019/1/4", "2019/1/6"]
所需结果数组应该如下:
立即学习“Java免费学习笔记(深入)”;
result = ["2019/1/1",,,,,,"2019/1/4",,,,,"2019/1/6",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]; // 365个数据
解决方案:
const arr = ["2019/1/1", "2019/1/4", "2019/1/6"] // js 根据已有的日期数组,生成365天的数组,将已有的日期填写在数组对应的位置,没有的日期填写空 function getDateArray(activeDates) { const dateArray = [] for (let i = 0; i < 365; i++) { const date = new Date(2019, 0, 1) // 2019年1月1日 date.setDate(date.getDate() + i) // 从1月1日开始逐个增加天数 const dateStr = date.toLocaleDateString() if (activeDates.includes(dateStr)) { dateArray.push(dateStr) } else { dateArray.push('') } } return dateArray } console.log(getDateArray(arr));