javascript - 如何使用它们的键从嵌套的 JSON 数据数组中提取最里面的值?
问题描述
以下数据结构是一个数组,每个数组元素都是一个带有键的对象:
this.objectImWorkingWith = [
{
"1306": {
"id": 6460,
"data": "Process",
},
"1307": {
"id": 6461,
"data": "1287",
},
"1309”: {
"id": 6462,
"data": “2748”,
}
},
{
"1306": {
"id": 6465,
"data": "Product",
},
"1307": {
"id": 6466,
"data": "2574",
},
"1309”: {
"id": 6263,
"data": “3752”,
}
},
{
"1306": {
"id": 6470,
"data": "Research",
},
"1307": {
"id": 6471,
"data": "3861",
},
"1307": {
"id": 6472,
"data": “2248”,
}
}
]
数组中的每个元素都有多个对象,我想检索父对象中每个对象的“数据”值,同时保留结构。这意味着我想保留,例如,进程、1287 和 2748 组合在一起等等。
因此,总而言之,我的目标是获取数组中每个对象的“数据”值,但保持数组中同一对象中的所有数据值相互关联。
我试过了
Object(this.allRelevantData.map(a=>a.data))
但是它会产生
[undefined, undefined, undefined]
解决方案
你可以试试这个:
var objectImWorkingWith = [
{
1306: {
id: 6460,
data: "Process",
},
1307: {
id: 6461,
data: "1287",
},
1309: {
id: 6462,
data: "2748",
},
},
{
1306: {
id: 6465,
data: "Product",
},
1307: {
id: 6466,
data: "2574",
},
1309: {
id: 6263,
data: "3752",
},
},
{
1306: {
id: 6470,
data: "Research",
},
1307: {
id: 6471,
data: "3861",
},
1307: {
id: 6472,
data: "2248",
},
},
];
const result = objectImWorkingWith.map((object) => {
const data = [];
for (var key of Object.keys(object)) {
data.push(object[key].data);
}
return data;
});
变量结果将包含:[["Process", "1287", "2748"], ["Product", "2574", "3752"],...]
推荐阅读
- c# - 发送邮件失败:C#:Gmail:无法从传输连接读取数据:现有连接被远程主机强行关闭
- php - user.ini 中的一些更改没有影响
- azure - Azure Keyvault 清除问题
- entity-framework-core - EF Fluent API - 阴影属性、IsRequired(True) 和 DeleteBehavior.NoAction / Restrict 的组合
- python - 如何在 PLY yacc 中存储错误
- html - R/markdown:在表格内渲染 html 标签
- hadoop - Hadoop 集群上的 mapreduce 作业失败,子进程失败,代码为 1
- c# - Revit API - C# - 如何将焦点放在精确视图上
- file - 组件移动文件导致 java.io.IOException,并试图移动到错误的文件夹
- java - 如何使用 ant updatesystem 在 hybris 中包含补丁?