【问题标题】:accessing array in a nested data structure containing objects and arrays with unknown property names [duplicate]访问嵌套数据结构中的数组,其中包含具有未知属性名称的对象和数组[重复]
【发布时间】:2019-09-03 18:22:32
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: javascript arrays object data-manipulation


    【解决方案1】:

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

    【讨论】:

    • 你有不使用 const 的替代方案吗?
    • 请随意使用letvar,但在可能的情况下,const 应该是首选——当您知道变量不会被重新分配。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多