
生成 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));










