首页 > 解决方案 > API 响应返回的 Javascript 三元

问题描述

我在从 API 响应返回数据时遇到问题,其中返回将向所有“主治医师”打印“N/A”,而它应该只为具有特定类类型“流动”的那些对象打印“N/A” '

我正在使用三元运算符来选择我想要返回的数据,但是一旦它在响应数据中找到一个包含“访问类类型”“走动”(items.resource.class.display)的对象,它看起来就像它将停止查看响应中的所有其他对象并为所有医师写入 N/A。

基本上我正在寻找的逻辑是“主治医师”行,如果访问类类型是“门诊”,请写“N/A”,因为他们不会有医生,否则如果不是门诊(例如。住院或门诊就诊类类型),首先检查这些条件,然后返回医生的姓名。并非所有数据响应都包含这种走动类型。

这是我的一些代码,

<>
  <h3>Admitting Info:</h3>
  { Object.keys(this.state.EncounterData).length !== 0 
  ? Object.values(this.state.EncounterData).map((items, i) =>
      <li key={i}>
        <p>Visit ID: {items.resource.identifier[1].value}</p> 
        <p>Visit Class Type: {items.resource.class.display} </p>
        <p>Attending Physician:
          { items.resource.class.display !== 'ambulatory'
            || items.resource.participant[0] === undefined
            || items.resource.participant[0].individual === null 
          ? 'N/A'
          : items.resource.participant[0].individual.display
          }
        </p> 
        <p>Admission Date: {items.resource.period.start.split('T')[0]}</p>
        <p>Discharge Date:
          { items.resource.period.end === null
          ? 'N/A'
          : items.resource.period.end.split('T')[0]
          } </p>
      </li>
    )
  ]) : <li> no Admissions reported </li>
  

标签: javascriptapireturnternary

解决方案


推荐阅读