【问题标题】:How to fetch and render specific data from an API如何从 API 获取和呈现特定数据
【发布时间】:2019-07-16 16:53:18
【问题描述】:

我有一个航班信息 API, 每个航班在单独的键下都有以下信息: ID, 出发机场, 到达机场, 出发时间, 到达时间。

这是我被问到的问题: 伦敦希思罗机场 (LHR) 和迪拜 (DXB) 之间的平均行程时间是多少?

API 有大约 7000 个航班,其中一些在 LHR 和 DXB 之间。

使用 React.js,我如何从 API 返回特定数据,如上述问题的答案?

我有一个获取请求,可以按 id、名称等呈现完整的航班列表

基本上我如何对 api 数据本身执行计算/条件?

【问题讨论】:

  • 这完全取决于该 API 及其公开的功能类型。我们不知道您使用的是什么 API,因此我们只能建议阅读其文档。
  • 这是一个来自 mongoDB 数据库的内部 API,我使用 csv 文件 @Brad 创建并填充了自己
  • @TheoWright 您在处理此问题时遇到了特定问题吗?因为听起来您需要执行的一般步骤是 1) 查询从 LHR 出发并抵达 DXB 或从 DXB 出发并抵达 LHR 的航班的航班集合。 2)计算每个返回航班的飞行时间(到达时间和出发时间之间的差异)。 3) 平均飞行时间。
  • @XionDark 这正是我想做的,但我不知道该怎么做。我将如何从内部反应?是否有这样做的特定术语/名称?我把它写成一个函数吗?还是需要在 render() 中完成?

标签: node.js reactjs mongodb api


【解决方案1】:

也许你可以使用一些函数来过滤你正在寻找的值,考虑到你的航班在一个对象数组中,这只是一个肮脏的例子:

const getFlights = (airporta, airportb) => flights.filter(fly => (
  (fly['departure airport'] === airporta && fly['arrival airport'] === airportb)
  || (fly['departure airport'] === airportb && fly['arrival airport'] === airporta)
));

const lhrdbx = getFlights('LHR', 'DXB');

const difference = lhrdbx.reduce((a, b) => (
  a + (b['arrival time'] - b['departure time'])
), 0);

【讨论】:

    猜你喜欢
    • 2019-06-15
    • 1970-01-01
    • 2021-09-06
    • 2017-05-26
    • 2019-03-25
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    相关资源
    最近更新 更多