首页 > 解决方案 > 访问包含具有未知属性名称的对象和数组的嵌套数据结构中的数组

问题描述

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

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

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

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

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

标签: javascriptarraysobjectdata-manipulation

解决方案


访问Object.valuesecommerce获取每个子对象的数组(从而跳过“动态值”),然后您可以使用该子对象执行所需的操作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);


推荐阅读