嵌套对象结构
Nested object structure
在以下Fiddle中:
https://jsfiddle.net/dzddv6pa/
console.clear();
var data = {
"apps": [{
"appName": "App1",
"subApps": [{
"subAppName": "ABC",
"docs": [{
"docTypes": [{
"docTypeName": "Deploy"
}]
}]
}, {
"subAppName": "DEF",
"docs": [{
"docTypes": [{
"docTypeName": "Deploy"
}]
}]
}, {
"subAppName": "GHI",
"docs": [{
"docTypes": {
"docTypeName": "Dev"
},
"docTypes": {
"docTypeName": "Deploy"
},
"docTypes": {
"docTypeName": "Support"
}
}]
}]
}]
};
var apps = data.apps;
var appsLen = apps.length;
for (var i = 0; i < appsLen; i++) {
var app = apps[i];
var appName = app.appName;
console.log(appName);
var subApps = app.subApps;
var subAppsLen = subApps.length;
for (var j = 0; j < subAppsLen; j++) {
var subApp = subApps[j];
var subAppName = subApp.subAppName;
console.log("'t" + subAppName);
var docs = subApp.docs;
var docsLen = docs.length;
for (var k = 0; k < docsLen; k++) {
var doc = docs[k];
var docTypes = doc.docTypes;
var docTypesLen = docTypes.length;
for (var l = 0; l < docTypesLen; l++) {
var docType = docTypes[l];
var docTypeName = docType.docTypeName;
console.log("'t't" + docTypeName);
}
}
}
}
我正在循环使用data
变量,试图将以下结构打印到控制台,但我一辈子都无法在GHI-Dev,Deploy,Support-下获得docTypeName来打印:
App1
ABC
Deploy
DEF
Deploy
GHI
Dev
Deploy
Support
有人看到我做错了什么吗?我有一部分认为这是对象结构,但我尝试过不同的变体,但都不起作用。我一定是在俯瞰什么。
EDIT:用正确的Object结构更新了Fiddle:https://jsfiddle.net/dzddv6pa/2/
javascript对象中不能有重复的属性。如果您希望有多个docTypes
,则应该将其设为一个数组。
{
"subAppName": "GHI",
"docs": [{
"docTypes": [{
"docTypeName": "Dev"
}, {
"docTypeName": "Deploy"
}, {
"docTypeName": "Support"
}]
}]
}
相关文章:
- 更改JSON对象的结构
- 嵌套对象结构
- 从json对象聚集数据并创建层次结构
- 如何迭代json对象结构以只获取名称
- ES6非结构化中的计算属性-非结构化整体对象
- 如何在Javascript中连接两个结构不同的对象
- redux 中状态对象的结构
- 文字与原型对象表示法的数据结构
- 从knockout.js中的另一个对象更新一个深度结构化的javascript对象
- JSDoc:返回对象结构
- 通过键将平面对象转换为嵌套结构
- 关于JavaScript对象结构属性的问题
- 如何用以下结构定义一个空的javascript对象,以便我可以动态地将数据插入其中
- 无法识别的数据结构-转换为对象
- 无法通过jQuery查找来定位层次结构中的对象
- Rails结构到JSON对象
- 将字符串(带有结构对象)转换为对象
- 从HTML大纲创建层次结构对象
- 特殊的JavaScript结构:对象定义中的对象类型变量
- Null在Javascript中检查大型层次结构对象