如何将for循环迭代到React Native中的数组

时间:2019-02-03 07:39:16

标签: javascript react-native foreach

我正在使用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属性中执行formarkedDates?因为它显示了所有“:”和“,”上的错误。我尝试了一切。

请指导

1 个答案:

答案 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)