【问题标题】:ReactJS ES6 array filteringReactJS ES6 数组过滤
【发布时间】:2019-09-10 22:41:41
【问题描述】:

我正在尝试将数据从一个对象分组到一个多维数组

在过去的三天里,我尝试了多种方法来获得我想要的结果。由于我没有运气,可能是因为我对 ReactJS/ES6 的了解不足。我希望有人能解释我如何让它工作。

我想我必须使用地图功能。在 map 函数中,一个过滤函数来获取唯一的公司,然后是一个循环来添加表信息。

最终结果应该是这样的:https://wireframe.cc/No5uB7

我要过滤的数据:

{
  "viewings": [
    {
      "companyXXX": "company-XXX",
      "time_start": "02/04/2019",
      "time_end": "03/04/2019 11:59"
    },
    {
      "companyXXX": "company-XXX",
      "time_start": "14/04/2019",
      "time_end": "15/04/2019 11:59"
    },
    {
      "companyYYY": "company-YYY",
      "rejection": 40,
      "time_start": "14/04/2019",
      "time_end": "15/04/2019 11:59"
    }
  ]
}

我仍然拥有的代码不起作用

    genData(data) {
      const di = data.viewings;

      let mps = [];

      di.map(m => mps.push(m.company));
      mps = Array.from(new Set(mps));

        console.log( mps );


       let mps = [];

       di.map((m) => 
         console.log( di.filter(mps => m.company) )
         );
    }

【问题讨论】:

  • 嗨,您能否添加预期的输出。以便我们更好地理解它并提供帮助。

标签: arrays reactjs ecmascript-6


【解决方案1】:

如果您的输入数据更加一致,我可能会有所帮助,特别是因为您正在尝试编写 m.company,除非每次查看中都有一个 company 对象,否则这没有任何意义。

{
  "viewings": [
    {
      "company": "company-XXX",
      "time_start": "02/04/2019",
      "time_end": "03/04/2019 11:59"
    },
    {
      "company": "company-XXX",
      "time_start": "14/04/2019",
      "time_end": "15/04/2019 11:59"
    },
    {
      "company": "company-YYY",
      "time_start": "14/04/2019",
      "time_end": "15/04/2019 11:59"
    }
  ]
}

然后你可以写:

var viewings = data.viewings.

var firstViewing = viewings[0];

var firstCompany = firstViewing.company;
var firstTimeStart = firstViewing.time_start;
// etc...

您的输入数据应该更有条理。

然后你可以注销每个公司名称:

var viewings = data.viewings;

viewings.forEach(v => {
    console.log(v.company);
});

您在问题中提到了 JSX,但没有 JSX 代码。这似乎是您对 JS 而非 JSX 的了解的问题。

【讨论】:

    猜你喜欢
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 2021-06-24
    相关资源
    最近更新 更多