我正在使用反应原生日历来显示每月活动和每一天。我有一个从 API 获取的数据数组,值如下:
deliveryDates: Array(3)
0: {date: "2019-02-03", deliveryStatus: false, endingDay: false, startingDay: true}
1: {date: "2019-02-04", deliveryStatus: false, endingDay: false, startingDay: true}
2: {date: "2019-02-05", deliveryStatus: false, endingDay: false, startingDay: false}
日历库具有一个名为 markedDates
的属性,因为它只接受对象。
标记日期的示例:
markedDates={
{
'2012-05-04': {disabled: true, startingDay: true, color: 'green', endingDay: true}
}}
现在,我需要的是迭代整个 "'2012-05-04': {disabled: true, startingDay: true, color: 'green', endingDay: true}"
我的 API 中的日期。
因此,如果我有三个日期,它应该得到三个日期的迭代,其中包含三个新功能,如上所示。
但是,如何在markedDates
属性内进行foreach
或for
?因为它显示所有":"和","的错误。我什么都试过了.
请指导
您可以运行一个简单的reduce
来获取markedDates
对象:
const deliveryDates = [{date:"2019-02-03",deliveryStatus:false,endingDay:false,startingDay:true},{date:"2019-02-04",deliveryStatus:false,endingDay:false,startingDay:true},{date:"2019-02-05",deliveryStatus:false,endingDay:false,startingDay:false}];
const markedDates = deliveryDates.reduce((acc, {date,endingDay,startingDay}) => {
acc[date] = {disabled: true, color: 'green', startingDay, endingDay};
return acc;
},{});
console.log(markedDates)