Javascript 在循环中循环对象属性

Javascript 在循环中循环对象属性,javascript,reactjs,Javascript,Reactjs,我的API调用得到如下响应 { products: { product0: { id: 'F103_SURFACELAPTOP_15', quantity: 47, description: 'Surface Laptop 15 Zoll' }, product1: { id: 'F101_MACBOOKPRO_13', quantity: 10, description: 'Macbook

我的API调用得到如下响应

  {
  products: {
    product0: {
      id: 'F103_SURFACELAPTOP_15',
      quantity: 47,
      description: 'Surface Laptop 15 Zoll'
    },
     product1: {
      id: 'F101_MACBOOKPRO_13',
      quantity: 10,
      description: 'Macbook Pro 13 Zoll'
    }
  },
  salesOrderId: '9000002080'
}
{Object.values(value).map((item, i) =>
它可以包含1-n个产品。我正试图在表格中打印响应

这是我得到的,它正在工作,但它只会显示第一个产品。然而,我需要循环浏览产品并展示每一个产品

  {value.map((item, i) =>
            <tr key={i}>
              <td>{i + 1}</td>
              <td>{item.salesOrderId}</td>
              <td>{item.products['product' + i].id}</td>
            </tr>
          )
{value.map((项目,i)=>
{i+1}
{item.salesOrderId}
{item.products['product'+i].id}
)
这就是我试图循环的方式,但没有成功

   {value.map((item, i) =>
                <tr key={i}>
                  <td>{i + 1}</td>
                  <td>{item.salesOrderId}</td>
                  {item.products['product' + i].map((product, i) =>
                   <td key={i}> {product.i.id} </td>)}
                  <td>{item.products['product' + i].id}</td>
                </tr>
              )}
{value.map((项目,i)=>
{i+1}
{item.salesOrderId}
{item.products['product'+i].map((product,i)=>
{product.i.id})
{item.products['product'+i].id}
)}

因为
值是对象而不是数组

所以像这样使用

  {
  products: {
    product0: {
      id: 'F103_SURFACELAPTOP_15',
      quantity: 47,
      description: 'Surface Laptop 15 Zoll'
    },
     product1: {
      id: 'F101_MACBOOKPRO_13',
      quantity: 10,
      description: 'Macbook Pro 13 Zoll'
    }
  },
  salesOrderId: '9000002080'
}
{Object.values(value).map((item, i) =>
而不是

{value.map((item, i) =>
在此格式上使用循环

{Object.values(value).map((item, i) =>
                <tr key={i}>
                  <td>{i + 1}</td>
                  <td>{item.salesOrderId}</td>
                  {Object.values(item.products).map((product,ind) =>
                   <td key={ind}> {product.id} </td>)}
                  <td>{item.products['product' + i].id}</td>
                </tr>
              )}
{Object.values(value.map)(项目,i)=>
{i+1}
{item.salesOrderId}
{Object.values(item.products).map((product,ind)=>
{product.id}}
{item.products['product'+i].id}
)}

要遍历对象属性,如果只需要值,可以使用
object.values(value)
,如果同时需要,可以使用
object.entries(value)
键和值。这两个函数都返回数组,其中函数
map
可用

编写该API的人应该重新考虑其输出格式。。。