如何在React Js中使用map实现嵌套循环

时间:2019-11-30 15:07:59

标签: javascript reactjs

我知道有很多线程已经在react js问题中使用map来解决这个嵌套循环问题,但是我很困惑,因为我该如何在代码中实现它。我尝试了几次,但遇到了错误,

这是我尝试过的某个主题,但是我似乎无法实现它:

  1. react-create-nested-components-with-loops

  2. how-to-have-nested-loops-with-map-in-jsx

  3. react-map-over-nested-array-of-objects

这是我想要得到的Json:

"0"

我想要的是从此JSON示例获取值,但还是没有运气

这是我要循环的组件:

"costs": [
          {
            "service": "CTC",
            "description": "JNE City Courier",
            "cost": [
              {
                "value": 234000,
                "etd": "1-2",
                "note": ""
              }
            ]
          },
          {
            "service": "CTCYES",
            "description": "JNE City Courier",
            "cost": [
              {
                "value": 468000,
                "etd": "1-1",
                "note": ""
              }
            ]
          }
        ]

从参考号3开始,我尝试了此解决方案,但得到了<MDBDropdown className="select-type"> <MDBDropdownToggle caret className="select-btn"> Choose Your Courier Service </MDBDropdownToggle> <MDBDropdownMenu basic onClick={this.serviceData}> {shipmentFees != null ? shipmentFees.map( shipmentFee => ( <MDBDropdownItem key={shipmentFee.cost.service} name={shipmentFee.cost.description + "," + shipmentFee.cost.etd} value={shipmentFee.cost.value}> {shipmentFee.cost.description}, {shipmentFee.cost.etd} Days </MDBDropdownItem> ) ) : <MDBDropdownItem value="-">There is no service</MDBDropdownItem> } </MDBDropdownMenu> </MDBDropdown>

unexpected token, expected ","

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我只是按照您的第二段代码

1)我认为您的shipmentFee.cost.map(应该是shipmentFee.costs.map(

2){strong> cost => ( 此处的下一行cost将为您提供 service description < / strong>和 cost[]

3) cost[] ,因为它是一个数组,因此您必须执行另一个映射/循环才能提取 value {{ 1}} etd note 是您认为的期望值