如何在reactjs中循环遍历嵌套对象?

时间:2018-10-01 14:09:03

标签: javascript json reactjs

因为这是我在对象中所做的,但是它不起作用。 如何通过循环获取“关键”字段?

  <div>
      <ul>
        {tickets && tickets.issues && Object.keys(tickets.issues).map((issue, i) =>
        (
          <li key={i}>
            Issue number: {tickets.issues.key}
          </li>
         ))}
      </ul>
  </div>

解决方案

   <div>
      <ul>
       {this.state.tickets && this.state.tickets.issues && Object.keys(this.state.tickets.issues).map((issue, i) =>
       (
        <li key={i}>
           Issue number: {this.state.tickets.issues[i].key}
        </li>
      ))}
      </ul>
  </div>

enter image description here

3 个答案:

答案 0 :(得分:3)

查看您的响应图像,关键字段存在于issues []中,但不存在于字段中,因此它应该很好(不需要嵌套):

{ Object.keys(tickets.issues).map((issue, i) => (
  <li key={issue.key}>
   Issue number: {issue.key}
  </li>
))}

如果您在字段中输入了密钥(未在图片中展开)

{ Object.keys(tickets.issues).map((issue, i) => (
  Object.keys(issue.fields).map(field=>(
 <li key={field.key}>
   Issue number: { field.key }
 </li>
)
))}

答案 1 :(得分:2)

tickets.issues是一个对象数组,因此:

const { issues } = tickets;
issues.map(issue => console.log(issue.key));

答案 2 :(得分:1)

一个简单的解决方案

  <div>
    <ul>
      {tickets && tickets.issues && Object.keys(tickets.issues).map((issue, i) => 
     (
      <li key={i}>
         Issue number: {tickets.issues.key}
      </li>
    ))}
    </ul>
  </div>