代码之家  ›  专栏  ›  技术社区  ›  Simon Breton

访问嵌套数据结构中的数组,该嵌套数据结构包含具有未知属性名的对象和数组

  •  0
  • Simon Breton  · 技术社区  · 5 年前

    'ecommerce': {
      '[dynamicvalue]': {
        'actionField': {'step': 4},
        'products': [{
            'name': 'Spirit Pack',  
            'id': '12345',
            'price': '55',
       }]
     }
    

    我想提取产品数组,但是我不知道第二个属性名,它是一个不断变化的动态值。

    通常我应该能做这样的事 var x = ecommerce.[dynamicvalue].products

    但是既然我不知道第二个值,我该怎么办?

    1 回复  |  直到 5 年前
        1
  •  1
  •   CertainPerformance    5 年前

    访问 Object.values ecommerce 获取每个子对象的数组(从而跳过“dynamicvalue”),然后可以使用该子对象的 products :

    const obj = {
      'ecommerce': {
        '[dynamicvalue]': {
          'actionField': {
            'step': 4
          },
          'products': [{
            'name': 'Spirit Pack',
            'id': '12345',
            'price': '55',
          }]
        }
      }
    };
    
    const [{ products }] = Object.values(obj.ecommerce);
    console.log(products);