You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何迭代JSON对象内的嵌套数组,实现姓名字段与角色描述配对输出

代码修改方案

现有代码存在两处核心问题:

  • 属性访问路径错误:involvementRole数组的子元素直接挂载involvementRoleDescription属性,你多写了一层involvementRole,导致读取不到对应值
  • 遍历层级错误:你现在是按外层的客户对象遍历,每个客户只生成1行,无法实现「一个客户对应多个角色就生成多行」的需求,需要两层遍历先把所有「姓名+角色」的条目展开

修改后的代码如下:

const Checkbox = (props) => {
  const classes = useStyles();
  // 先展开所有姓名-角色配对条目
  const checkbox = props.list.flatMap(clientItem => 
    // 遍历当前客户的所有角色,每个角色单独生成一行
    clientItem.involvementRole.map(role => (
      <div key={role.involvementRoleId}>
        <tbody style={{ width:'100%' }}>
          <tr>
            <td style={{width:'60px'}}>
              <input type="checkbox" onClick={() => props.handleCheckboxChange(clientItem)} />
            </td> 
            <td style={{width:'250px'}}>
              {role.involvementRoleDescription}
            </td>  
            <td style={{width:'250px'}}>
              {clientItem.client.firstName + ' ' + clientItem.client.lastName}
            </td>
          </tr>
        </tbody>
      </div>
    ))
  );
  // 补充返回渲染内容
  return <>{checkbox}</>
}

内容的提问来源于stack exchange,提问作者MinMin240

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 11:06:01