我正在使用react-native-calendars来显示每月和每天的活动。我有一个从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的示例:
markedDates={
{
'2012-05-04': {disabled: true, startingDay: true, color: 'green', endingDay: true}
}}
现在,我需要迭代整个过程
"'2012-05-04': {disabled: true, startingDay: true, color: 'green', endingDay: true}"
和我API的日期。
因此,如果我有三个日期,它应该具有三个日期的迭代,并具有上面显示的三个新功能。
但是,如何在foreach
属性中执行for
或markedDates
?因为它显示了所有“:”和“,”上的错误。我尝试了一切。
请指导
答案 0 :(得分:0)
您可以运行一个简单的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)