编辑代码

const data = [
  { date: '2021-12-25', cnt: 12 },
  { date: '2021-12-28', cnt: 73 },
  { date: '2021-12-30', cnt: 9 },
  { date: '2022-01-02', cnt: 4 },
  { date: '2022-01-03', cnt: 4 }
];

// 将数据按照日期升序排序
data.sort((a, b) => {
  return new Date(a.date) - new Date(b.date);
});

const dates = [];
// 获取所有日期
data.forEach(item => {
  dates.push(item.date);
});

const startDate = new Date(dates[0]);
const endDate = new Date(dates[dates.length - 1]);

// 遍历所有日期
for (let d = startDate; d <= endDate; d.setDate(d.getDate() + 1)) {
    console.log(d)
  const dateStr = d.toISOString().slice(0, 10);

  // 如果数据中不存在该日期,则插入对应的数据
  if (!dates.includes(dateStr)) {
    data.push({ date: dateStr, cnt: 0 });
  }
}

// 将数据按照日期升序排序
data.sort((a, b) => {
  return new Date(a.date) - new Date(b.date);
});

console.log(data);