javascript - 映射表数据二维数组

标签 javascript reactjs

我有一个有点奇怪的问题,我无法解决。我必须使用 react 来渲染表格 - 但是我的数据结构是这样的,我需要第一级的名称作为表格标题 - 然后我需要将与该标题关联的数据映射到表格中的正确单元格中。

这是我的数据

[{
    "cell_id": 1,
    "step_data": [{
      "width": 1920,
      "name": "bruce",
    }, {
      "width": 2236,
      "name": "ben",

      }],
        "cell_name": " boys names"
      },
{
        "cell_id": 2,
        "step_data": [{
          "width": 1920,
          "name": "grace",
        }, {
          "width": 2236,
          "name": "megan",

        }],
        "cell_name": "girls names"
      }

为了映射表格标题,我这样做会动态呈现标题,但是我似乎无法将数据放在正确的标题下,因为它们都位于同一行。

我有什么想法可以做到这一点吗?

我想要的任务是有一个包含两个标题男孩名字和女孩名字的表 - 我需要男孩名字中的步骤数据作为男孩名字标题下的行,而女孩名字中的步骤数据作为女孩名字标题下

<table className="table">
    <tbody>
      <tr>
        {this.props.data.map((item, key) => <th key={key}>{item.cell_name}</th>
        )}

      </tr>
      {this.props.data.map(data => data.map((z, key) => <td key={key}>{z.name}</td>))}

      <tr>

      </tr>

    </tbody>
  </table>

最佳答案

{[
  ...Array( // get the number of rows you need to create
    Math.max(...this.props.data.map(({ step_data }) => step_data.length))
  ).keys()
].map(i => (
  <tr key={i}>
    {this.props.data.map(({ step_data, cell_name }) => (
      <td key={cell_name}>{(step_data[i] || {}).name}</td>
    ))}
  </tr>
))}

关于javascript - 映射表数据二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49946415/

相关文章:

javascript - 如何在 react 导航 5.x 中隐藏选项卡导航(底部选项卡)的标题?

reactjs - React-Redux:如何从异步 AJAX 调用的响应中设置初始状态?

javascript - 如何将当前日期作为值插入输入表单字段中

javascript - 在 div 而不是输入/文本区域时无法通过 POST 发送内容

javascript - turn.js 在 iPad 上滑动和捏合

javascript - 在 React.js 应用程序中使用 freshdesk 反馈小部件

node.js - 将带有Docker的MERN应用程序部署到GCP App Engine时发生问题-部署是否需要花费几个小时?

javascript - 在给定最小值和最大值的情况下,构造月-年日期的排序数组的算法的缺陷在哪里?

javascript - 为什么 Google map API key 无法识别我的引荐来源网址?

javascript - 我正在学习react.js,但我发现很难理解react应用程序在部署后将如何工作?