如何用JavaScript生成一个包含365天日期并填充指定日期的数组?

如何用javascript生成一个包含365天日期并填充指定日期的数组?

生成 365 天日期数组并填充已有日期

如何编写一个 javascript 函数来生成包含 365 天日期的数组,并根据提供的已有日期数组填充相应位置?

假设已有日期数组为:

let arr = ["2019/1/1", "2019/1/4", "2019/1/6"]

所需结果数组应该如下:

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

以上就是如何用JavaScript生成一个包含365天日期并填充指定日期的数组?的详细内容,更多请关注硕下网其它相关文章!