【问题标题】:How to fill missing dates inside array of object using typescript/javascript?如何使用 typescript/javascript 填充对象数组中缺失的日期?
【发布时间】:2025-11-28 16:55:02
【问题描述】:

我想从今天到接下来的 7 天填充这个对象。 这是我的对象

let obj = {
  "sessions": [{
       "date": "15-05-2021"
   },
   {
       "date": "16-05-2021"
   },
   {
       "date": "18-05-2021"
   }]
}

预期输出:

let output = {
  "sessions": [{
       "date": "14-05-2021"
   },
   {
       "date": "15-05-2021"
   },
   {
       "date": "16-05-2021"
   },
   {
       "date": "17-05-2021"
   },
   {
       "date": "18-05-2021"
   },
   {
       "date": "19-05-2021"
   },
   {
       "date": "20-05-2021"
   }]
}

这是生成从今天到接下来 7 天的日期数组的代码

function getWeekDates() {
    let dates = [];
    dates.push(new Date(Date.now() + 1000 * 3600 * 1).toLocaleDateString('en-GB').replace('/', '-').replace('/', '-'));
    for (let i = 1; i <= 6; i++) {
      dates.push(new Date(Date.now() + 1000 * 3600 * (i * 24)).toLocaleDateString('en-GB').replace('/', '-').replace('/', '-'));
    }
    console.log(dates);
}

getWeekDates();

//Output:["14-05-2021", "15-05-2021", "16-05-2021", "17-05-2021", "18-05-2021", "19-05-2021", "20-05-2021"]

我是新手,所以请放轻松。

提前谢谢...

【问题讨论】:

    标签: javascript arrays typescript date object


    【解决方案1】:

    您可以通过将 obj.sessions 替换为新生成的日期来做到这一点。

    let obj = {
      "sessions": [{
           "date": "15-05-2021"
       },
       {
           "date": "16-05-2021"
       },
       {
           "date": "18-05-2021"
       }]
    }
    
    function getWeekDates() {
        let dates = [];
        dates.push({ "date": new Date(Date.now() + 1000 * 3600 * 1).toLocaleDateString('en-GB').replace('/', '-').replace('/', '-')});
        for (let i = 1; i <= 6; i++) {
          dates.push({ "date": new Date(Date.now() + 1000 * 3600 * (i * 24)).toLocaleDateString('en-GB').replace('/', '-').replace('/', '-')});
        }
        obj.sessions = [...dates]
        console.log(obj)
    }
    
    getWeekDates();

    【讨论】:

      最近更新 更多