如何用唯一的 ID 和日期填充数组?

How to fill an array with unique ids and date?

我想用唯一 ID 和日期增量填充一个对象数组。

这就是我想要实现的:

[
  {
    id: '1',
    date: Mon Mar 07 2022, // date object
  },
  {
    id: '2',
    date: Tues Mar 08 2022, // date object
  },
  {
    id: '3',
    date: Wed Mar 09 2022, // date object
  },
  ...
];

我试过以下方法:

import uniqueId from 'lodash/uniqueId';
import add from 'date-fns/add';

const startDate = Mon Mar 07 2022 // this is a date object

const time = new Array(7).fill({
      id: uniqueId()
      date: add(startDate, { days: 1 }),
    });

但这为我提供了每个对象的相同 ID 和相同日期。

使用lodash的_.times()创建数组,并使用生成的index创建id,并增加日期(sandbox):

const time = times(7, (index) => ({
  id: index + 1,
  date: add(startDate, { days: index })
}));

如果没有 lodash,您可以使用 Array.from() 创建数组 (sandbox):

const time = Array.from({ length: 7 }, (_, index) => ({
  id: index + 1,
  date: add(startDate, { days: index })
}));

console.log(time);