js 根据已有的日期数组,生成365天的数组,将已有的日期填写在数组对应的位置?

作者站长头像
站长
· 阅读数 31

js 根据已有的日期数组,生成365天的数组,将已有的日期填写在数组对应的位置,没有的日期填写空,请问这个函数怎么写?

假如:

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

要生成结果数组

result = ["2019/1/1",,,"2019/1/4",,"2019/1/6",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,]; // 365个数据
回复
1个回答
avatar
test
2024-07-03
  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)
      date.setDate(date.getDate() + i)
      const dateStr = date.toLocaleDateString()
      if (activeDates.includes(dateStr)) {
        dateArray.push(dateStr)
      } else {
        dateArray.push('')
      }
    }
    return dateArray
  }

  console.log(getDateArray(arr));
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容