【问题标题】:How to iterate a for loop into to an array in React Native如何在 React Native 中将 for 循环迭代到数组中
【发布时间】:2019-02-03 07:39:15
【问题描述】:

我使用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={
{
 '2012-05-04': {disabled: true, startingDay: true, color: 'green', endingDay: true}
}}

现在,我需要的是迭代整个 "'2012-05-04': {disabled: true, startingDay: true, color: 'green', endingDay: true}" 我的 API 中的日期。

所以如果我有三个日期,它应该得到三个日期的迭代,上面显示了三个新函数。

但是,如何在 markedDates 属性中执行 foreachfor ?因为它显示所有“:”和“,”的错误。我什么都试过了。

请指导

【问题讨论】:

  • 将您的代码粘贴到 jsfiddle 上,我会为您修复。 :)
  • 等我粘贴回来! @AsimKhan

标签: javascript react-native foreach


【解决方案1】:

您可以运行一个简单的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)

【讨论】:

  • 其实,我在问如何在 的标记日期属性中实现这一点
  • 在日历中使用这个markedDates 变量。我对反应不是很熟悉,但是像这样? <Calendar markedDates={markedDates} />
  • 实际上,我得到的数据是数组。但是markedDates 只获取对象作为值。这是标记日期的例子markedDates={ {'2012-05-20': {textColor: 'green'}, '2012-05-22': {startingDay: true, color: 'green'}, '2012-05-23': {selected: true, endingDay: true, color: 'green', textColor: 'gray'}, '2012-05-04': {disabled: true, startingDay: true, color: 'green', endingDay: true} }}
  • 所以,我需要从 api 迭代日期。在上面示例中的日期位置。因此,如果有 3 个日期,则应在标记日期下形成 3 个新行
  • 在我创建的sn-p中,deliveryDates是一个数组。 markedDates 是您请求格式的对象。单击“运行代码sn-p”进行检查。我不明白问题是什么
猜你喜欢
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-05
  • 2016-11-12
  • 2018-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多