javascript - 访问包含具有未知属性名称的对象和数组的嵌套数据结构中的数组
问题描述
我有以下带有对象和数组的嵌套对象:
'ecommerce': {
'[dynamicvalue]': {
'actionField': {'step': 4},
'products': [{
'name': 'Spirit Pack',
'id': '12345',
'price': '55',
}]
}
我想提取产品数组但是我不知道第二个属性名称,它是一个一直在变化的动态值。
通常我应该能够做这样的事情var x = ecommerce.[dynamicvalue].products
但是,由于我永远不知道第二个值,我该怎么办?
解决方案
访问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);
推荐阅读
- naming-conventions - 公共访问只读但私有访问读/写变量的通用名称
- python - 从字符串中提取字典
- c++ - 改变 const_cast ptr/ref 的值不会改变原始对象的值吗?
- flutter - Dart - 过滤列表中至少包含一个元素的列表
- c - 可变参数函数中的默认参数提升
- image-processing - Halcon - gen_gabor 不输出 Gabor 核的功率谱
- python - 组合来自两个不同 DataFrame 的类别代码,然后将其作为列应用到每个 DataFrame
- git - Gerrit 读取制表符,在 Vim 中使用空格
- powershell - 使用 WinSCP .NET 程序集在 FTP 服务器上生成新文件和修改文件的列表
- jenkins - Jenkins 声明性管道字符串参数和建议