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

时间:2019-04-13 00:15:28

标签: javascript arrays object data-manipulation

我有以下带有对象和数组的嵌套对象:

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

我想提取乘积数组,但是我不知道第二个属性名称,它是一个随时更改的动态值。

通常我应该可以做类似var x = ecommerce.[dynamicvalue].products

的事情

但是,由于我永远不知道第二个值,我该怎么办?

1 个答案:

答案 0 :(得分:1)

访问Object.values中的ecommerce,以获取每个子对象的数组(从而跳过“动态值”),然后可以对该子对象的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);